习题Hero

(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();
	}
}

猜你喜欢

转载自blog.csdn.net/qq_36055407/article/details/81182967