(1)定义一个游戏中Hero 英雄的类,在该类中定义英雄的名字, 生命值和等级3 个属性,定义一个构造函数完成对生命值和等级的初始化,分别赋初值为100,1。同时实现名字的输入和英雄信息的输出。
(2)在上一题的基础上,为英雄再定义拥有一个参数的构造方法,传入一个英雄类型的值,如果为1,则为普通英雄,生命值为100,如果该值为2,则为高级英雄,生命值初始化为200。
(3)在上两英雄类型的基础上,为英雄添加一个基本战斗的方法, 该方法拥有一个英雄类型的参数,当传入另一个英雄时,能降低对方100 点血。 再增加一个绝招的重载方法,加入一个战斗类型参数,通过输入不同绝招参数,降低对方不同的血量。
class Hero{
//英雄名字
private String name;
//生命值
public int health;
//等级
private int grade;
public Hero() {
this.health=100;
this.grade=1;
Scanner scan=new Scanner(System.in);
System.out.println("请输入英雄的名字:");
this.name=scan.nextLine();
print();
}
public Hero(int i) {
Scanner scan=new Scanner(System.in);
System.out.println("请输入英雄的名字:");
this.name=scan.nextLine();
if(i==1) {
System.out.println("普通英雄成功过创建:");
this.health=100;
}
if(i==2) {
System.out.println("高级英雄成功过创建:");
this.health=200;
}
this.grade=1;
print();
}
public void print() {
System.out.println("Hero信息:");
System.out.println("姓名:"+this.name);
System.out.println("生命值:"+health);
System.out.println("等级:"+grade);
System.out.println("----------------------------------------------------");
}
public void zhandou(Hero h) {
System.out.println("----------------------------------------------------");
h.health-=100;
System.out.println(h.name+"受攻击,生命值减少100");
System.out.println("英雄信息更新:");
h.print();
}
public void zhandou(Hero h,int n) {
System.out.println("----------------------------------------------------");
h.health-=n;
System.out.println(h.name+"受攻击,生命值减少"+n);
System.out.println("英雄信息更新:");
h.print();
}
}