首页 > 编程语言 > 详细

[20-05-12][Self-test 42]Java RolePlayingGame Part 1

时间:2020-05-12 23:56:34      阅读:136      评论:0      收藏:0      [点我收藏+]
  1 package test_10_1;
  2 
  3 public class Role {
  4 
  5     /** 生命值 */
  6     private int hp;
  7     /** 最大生命值 */
  8     private int maxHP;
  9     /** 魔法值 */
 10     private int mp;
 11     /** 最大魔法值 */
 12     private int maxMP;
 13     /** 攻击力 */
 14     private int atk;
 15     /** 防御力 */
 16     private int def;
 17     /** 魔法攻击力 */
 18     private int mat;
 19     /** 魔法防御力 */
 20     private int mdf;
 21     /** 经验值 */
 22     private int exp;
 23     /** 下一级经验 */
 24     private int nextExp;
 25     /** 等级 */
 26     private int lv;
 27     /** 金钱 */
 28     private int money;
 29     /** 道具箱 */
 30     private ItemBox item = new ItemBox();
 31 
 32     /**
 33      * 无参构造方法 
 34      */
 35     public Role() {
 36         super();
 37     }
 38 
 39     /**
 40      * 带参构造方法 
 41      *
 42      * @param hP 生命值
 43      * @param maxHP 最大生命值
 44      * @param mP 魔法值
 45      * @param maxMP 最大魔法值
 46      * @param cP 怒气值
 47      * @param atk 攻击力
 48      * @param def 防御力
 49      * @param mat 魔法攻击力
 50      * @param mdf 魔法防御力
 51      * @param exp 经验值
 52      * @param lv 等级
 53      * @param money 金钱
 54      */
 55     public Role(int hp, int maxHP, int mp, int maxMP, int atk, int def, int mat, int mdf, int exp, int lv,
 56             int money) {
 57         super();
 58         this.hp = hp;
 59         this.maxHP = maxHP;
 60         this.mp = mp;
 61         this.maxMP = maxMP;
 62         this.atk = atk;
 63         this.def = def;
 64         this.mat = mat;
 65         this.mdf = mdf;
 66         this.exp = exp;
 67         this.nextExp = countNextExp();
 68         this.lv = lv;
 69         this.money = money;
 70     }
 71 
 72     /**
 73      * 计算下级所需经验
 74      * 
 75      * @return 经验值
 76      */
 77     private int countNextExp() {
 78 
 79         int sum = 0;
 80         for (int i = 1; i <= lv; i++) {
 81             sum += 100 * lv;
 82         }
 83         return sum;
 84     }
 85 
 86     /**
 87      * 检查升级
 88      */
 89     public void checkExp() {
 90 
 91         while (exp > nextExp) {
 92             lv++;
 93             maxHP += getRandom();
 94             hp = maxHP;
 95             maxMP += getRandom();
 96             mp = maxMP;
 97             atk += getRandom();
 98             def += getRandom();
 99             mat += getRandom();
100             mdf += getRandom();
101             nextExp = countNextExp();
102         }
103     }
104 
105     /**
106      * 状态提升
107      * 
108      * @return 提升值
109      */
110     private int getRandom() {
111 
112         int value = (int) (Math.random() * 5);
113         return value;
114     }
115 
116     /**
117      * 获取生命值
118      *
119      * @return hp 生命值
120      */
121     public int getHp() {
122         return hp;
123     }
124 
125     /**
126      * 设置生命值
127      *
128      * @param hp  生命值
129      */
130     public void setHp(int hp) {
131         this.hp = hp;
132     }
133     
134     /**
135      * 增加生命值
136      * 
137      * @param hp 生命值
138      */
139     public void addHp(int hp) {
140         this.hp += hp;
141     }
142     
143     /**
144      * 减少生命值
145      * 
146      * @param hp 生命值
147      */
148     public void loseHp(int hp) {
149         this.hp -= hp;
150     }
151 
152     /**
153      * 获取最大生命值
154      *
155      * @return maxHP 最大生命值
156      */
157     public int getMaxHP() {
158         return maxHP;
159     }
160 
161     /**
162      * 获取魔法值
163      *
164      * @return mp 魔法值
165      */
166     public int getMp() {
167         return mp;
168     }
169 
170     /**
171      * 设置魔法值
172      *
173      * @param mp  魔法值
174      */
175     public void setMp(int mp) {
176         this.mp = mp;
177     }
178     
179     /**
180      * 增加魔法值
181      * 
182      * @param mp 魔法值
183      */
184     public void addMp(int mp) {
185         this.mp += mp;
186     }
187     
188     /**
189      * 消耗魔法值
190      * 
191      * @param mp 魔法值
192      */
193     public void costMp(int mp) {
194         this.mp -= mp;
195     }
196 
197     /**
198      * 获取最大魔法值
199      *
200      * @return maxMP 最大魔法值
201      */
202     public int getMaxMP() {
203         return maxMP;
204     }
205 
206     /**
207      * 获取攻击力
208      *
209      * @return atk 攻击力
210      */
211     public int getAtk() {
212         return atk;
213     }
214 
215     /**
216      * 获取防御力
217      *
218      * @return def 防御力
219      */
220     public int getDef() {
221         return def;
222     }
223 
224     /**
225      * 获取魔法攻击力
226      *
227      * @return mat 魔法攻击力
228      */
229     public int getMat() {
230         return mat;
231     }
232 
233     /**
234      * 获取魔法防御力
235      *
236      * @return mdf 魔法防御力
237      */
238     public int getMdf() {
239         return mdf;
240     }
241 
242     /**
243      * 获取经验值
244      *
245      * @return exp 经验值
246      */
247     public int getExp() {
248         return exp;
249     }
250     
251     /**
252      * 获取下一级经验值
253      *
254      * @return nextExp 下一级经验值
255      */
256     public int getNextExp() {
257         return nextExp;
258     }
259 
260     /**
261      * 获取等级
262      *
263      * @return lv 等级
264      */
265     public int getLv() {
266         return lv;
267     }
268 
269     /**
270      * 获取金钱
271      *
272      * @return money 金钱
273      */
274     public int getMoney() {
275         return money;
276     }
277     
278     /**
279      * 增加金钱
280      * 
281      * @param money 金钱
282      */
283     public void addMoney(int money) {
284         this.money += money;
285     }
286     
287     /**
288      * 使用金钱
289      * 
290      * @param money 金钱
291      */
292     public void useMoney(int money) {
293         this.money -= money;
294     }
295 
296     /**
297      * 获取道具箱
298      *
299      * @return item 道具箱
300      */
301     public ItemBox getItem() {
302         return item;
303     }
304 
305     /**
306      * 设置道具箱
307      *
308      * @param item  道具箱
309      */
310     public void setItem(ItemBox item) {
311         this.item = item;
312     }
313 
314 }

 

[20-05-12][Self-test 42]Java RolePlayingGame Part 1

原文:https://www.cnblogs.com/mirai3usi9/p/12879645.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!