格斗游戏,每个游戏角色的姓名,血量,都不相同,在选定人物的时候(new 对象的时候),这些信息就应该被确定下来。
姓名 | 乔峰 | 鸠摩智 |
血量 | 100 | 100 |
代码:
//文字版格斗游戏
package demo01;
import java.util.Random;
public class Role {
private String name;
private int blood;
public Role(String name, int blood) {
super();
this.name = name;
this.blood = blood;
}
public Role() {
super();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getBlood() {
return blood;
}
public void setBlood(int blood) {
this.blood = blood;
}
public void attack(Role role) {
Random r = new Random();
int hurt = r.nextInt(20) + 1;
int remainBlood = role.blood - hurt;
remainBlood = remainBlood < 0 ? 0 : remainBlood;
System.out.println(this.getName() + "举起拳头打了" + role.getName() + "一下,造成了" + hurt + "点伤害," + role.getName() + "还剩"+ remainBlood + "点血量!");
role.setBlood(remainBlood);
}
}
//文字版格斗游戏
package demo01;
public class RoleDemo {
public static void main(String[] args) {
Role r1 = new Role("乔峰", 100);
Role r2 = new Role("鸠摩智", 100);
while(true) {
r1.attack(r2);
if(r2.getBlood() == 0) {
System.out.println(r1.getName() + "KO了" + r2.getName() + "!");
break;
}
r2.attack(r1);
if(r1.getBlood() == 0) {
System.out.println(r2.getName() + "KO了" + r1.getName() + "!");
break;
}
}
}
}
运行结果: