题目
1. 编写一个“法师”类。
2. 描述其姓名、等级、攻击力、防御力、血量等属性。
3. 描述“自我介绍”行为。
4. 描述其“战斗”行为,要求该方法返回一个布尔值表示对战胜利与否,对战目标是另外一个法师。
5. 编写主程序,实例化两个“法师”,分别“自我介绍”,并测试“战斗”方法。
类
package 战斗;
public class Fashi {
String name;
int level;
int fight;
int fangyu;
int hp;
public void jieshao1() {
System.out.println("我是"+name+",来自蛋仔岛的居民,因为发现有人恶意攻击蛋仔岛的居民,现在我要为大家抓到那个恶人!");
}
public void jieshao2() {
System.out.println("我是"+name+",我正在被一个蛋仔岛的居民追赶,不知道发生了什么,一夜之间蛋仔岛竟然有这么多人受伤,到底发生了什么!");
}
public boolean attack(Fashi emey){
while(emey.hp>0||emey.hp==0) {
emey.hp = emey.hp-fight+emey.fangyu;
int num = fight-emey.fangyu;
System.out.println(name+"对"+emey.name+"造成了"+num+"点伤害,"+emey.name+"剩余血量为"+emey.hp);
if(emey.hp==0||emey.hp<0) {
break;
}
hp = hp-emey.fight+fangyu;
num = emey.fight-fangyu;
System.out.println(emey.name+"对"+name+"造成了"+num+"点伤害,"+name+"剩余血量为"+hp);
}
if(emey.hp==0||emey.hp<0) {
System.out.println(emey.name+"血量不足,"+name+"胜!");
return true;
}
else
System.out.println(name+"血量不足,"+emey.name+"胜!");
return false;
}
}
对象
package 战斗;
public class Zhu {
public static void main(String[] args) {
// TODO Auto-generated method stub
Fashi w = new Fashi();
w.name = "咻xiu_";
w.level = 40;
w.fight = 40;
w.fangyu = 30;
w.hp = 90;
w.jieshao1();
Fashi Y = new Fashi();
Y.name = "冷酷无情修修";
Y.level = 40;
Y.fight = 35;
Y.fangyu= 30;
Y.hp = 90;
Y.jieshao2();
w.attack(Y);
}
}
运行结果
小结
今天写了这样一个代码,写到战斗的时候卡了好一会儿,不知道该如何下手,最后代码写成这样我感觉还是有很多不足以及不太能理解的地方,比如,布尔类型的返回值为什么运行后未显示。希望以后技术能够更加精湛!