文字版格斗游戏
package com.jsu.test2;
import java.util.Random;
public class Role {
private String name;
private int blood;
public Role(){
}
public Role(String name, int blood) {
this.name = name;
this.blood = blood;
}
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;
}
//Role r1 = new Role();
//Role r2 = new Role();
//r1.攻击(r2);
public void attack(Role role){
//计算造成的伤害1~20
Random r = new Random();
int hurt = r.nextInt(20) + 1;
//剩余血量
int remainBlood = role.getBlood() - hurt;
//对剩余血量做一个验证,如果是复数就修改成0
remainBlood = remainBlood < 0 ? 0:remainBlood;
//修改挨揍人的血量
role.setBlood(remainBlood);
//this表示方法的调用者
System.out.println(this.getName()+"举起拳头,打了"+role.getName()+"一下,造成了"+hurt+"点伤害," +
"小红还剩下了"+remainBlood+"点血了");
}
}
package com.jsu.test2;
public class RoleTest {
public static void main(String[] args){
//创建第一个对象
Role r1 = new Role("小明",100);
//创建第二个对象
Role r2 = new Role("小红",100);
//开始格斗回合制游戏
while(true){
//r1开始攻击r2
r1.attack(r2);
//判断r2的剩余血量
if(r2.getBlood()==0){
System.out.println(r1.getName() + "K.O了" + r2.getName());
break;
}
//r2开始攻击r1
r2.attack(r1);
//判断r1的剩余血量
if(r1.getBlood()==0){
System.out.println(r1.getName() + "K.O" + r2.getName());
}
}
}
}