一个简单的格斗游戏(学习他人)
这是一个简单的回合制游戏,类似我们小时候玩的洛克王国,两名玩家各有100点血,轮流攻击,因为我的知识浅薄,他们造成的伤害只能随机(今后会多加学习),最后血量为0的失败,并输出胜者KO败者
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;
}
//定义一个方法用于攻击别人
public void attack(Role role){
Random r=new Random();
int hurt=r.nextInt(20)+1;//造成的血量,并赋值给hurt
int remainBoold=role.getBlood()-hurt;//计算剩余的血量
remainBoold=remainBoold<0?0:remainBoold;//利用三元表算式,考虑血量如果为负数的情况
role.setBlood(remainBoold);
//this表示方法的调用者
System.out.println(this.getName()+"举起拳头,打了"+role.getName()+"一下"
+"造成了"+hurt+"点伤害,"+role.getName()+"还剩"+remainBoold+"血");
}
}
以上是创建角色以及最基础的攻击形式已经写完了。
下面再次创建一个类,给这个角色赋值姓名和血量,以及攻击的方法。
public class game {
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() + "KO了" + r2.getName());
break;
}
//r2攻击r1
r2.attack(r1);
//判读r1剩余血量
if(r2.getBlood()==0){
System.out.println(r2.getName()+"KO了"+r1.getName());
break;
}
}
}
}