今天周六,国庆假期需要明天补课,所以今天休息。在左亮课程结束后,老师留了一个小作业,用我们所学的知识模拟游戏里僵尸的死亡。
有兴趣的朋友也可以试着做一下!
要求:
定义一个僵尸类:
属性(总血量, 失血量) 总血量-=失血量 100 2
行为:(吃脑子, 攻击, 被打, 死亡)
定义测试类: 创建一个僵尸对象,模拟僵尸被打死的过程
实现代码:
public class Corpse {
//给僵尸定义一个私有变量 血量blood
private int blood=100;
//定义一个僵尸被攻击后会丢失的血量
private int bloodLose=2;
//两个私有变量的set get 方法
public void setBlood(int blood) {
this.blood = blood;
}
public int getBlood() {
return blood;
}
public void setBloodLose(int bloodLose) {
this.bloodLose = bloodLose;
}
public int getBloodLose() {
return bloodLose;
}
//定义僵尸吃脑子的功能(后续并没有用)
public void eat(){
System.out.println("吃脑子");
}
//定义一个僵尸攻击的功能(后续没有用)
public void hit(){
System.out.println("攻击");
}
//定义一个僵尸被攻击的方法
public void hitted(){
//打印僵尸被攻击提示语句
System.out.println("你攻击了僵尸一次");
//总血量=原来的血量-丢失的血量
blood -=bloodLose;
//打印僵尸被攻击后剩余的血量
System.out.println("僵尸血量:"+blood);
}
//僵尸死亡的方法,当僵尸血量为0时调用,宣布僵尸死亡
public void die(){
System.out.println("僵尸死亡");
}
}
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
//实例化Scanner对象
Scanner sc = new Scanner(System.in);
//实例化僵尸对象
Corpse c = new Corpse();
//做一个死循环,让程序能一直执行,直到僵尸死亡
while(true){
//打印提示语句
System.out.println("有只僵尸在追你!!!");
System.out.println("选择操作:1 攻击僵尸");
//让用户操作攻击僵尸,当用户选择1时,僵尸被攻击
int a = sc.nextInt();
//if语句判断,僵尸是否被攻击。当用户输入1时僵尸被攻击
if(a==1){
//调用僵尸被攻击方法
c.hitted();
}
//判断僵尸血量是否为0
if(c.getBlood()==0){
//当僵尸血量为0时,调用僵尸死亡方法
c.die();
//僵尸死亡,break结束死循环
break;
}
}
}
}
执行结果: