设计要求
1、 美国队长和灭霸PK,采用回合制,每次攻击让对方的血量减少,减少量为攻击方的攻击值,重复,直到某一方的血量小于等于0结束。 输出:战斗的过程、结果
代码
package game;
import java.util.Random;
public class pk {
public static void main(String[] args) {
// TODO Auto-generated method stub
Random rand = new Random();
payer1 player1 = new payer1();
player1.name="美国队长";
player1.vitality=rand.nextInt(65)+ 64;
player1.attack=rand.nextInt(20)+1;
player1.trump=rand.nextInt(10)+1;
System.out.println(player1.name+"攻击值为"+player1.attack+",当前生命值为"+player1.vitality+"反噬值为"+player1.trump);
payer2 player2 = new payer2();
player2.name="灭霸";
player2.vitality=rand.nextInt(65)+ 64;
player2.attack=rand.nextInt(20)+1;
player2.trump=rand.nextInt(10)+1;
System.out.println(player2.name+"攻击值为"+player2.attack+",当前生命值为"+player2.vitality+"反噬值为"+player2.trump);
while(player1.vitality>0&&player2.vitality>0){
int flag=rand.nextInt(1)+0;
if(flag==1){
player1.attack1(player2);
}
else if(flag==0){
player2.attack2(player1);
}
}
}
}
package game;
public class payer1 {
public int vitality;
public String name;
public int attack;
public int trump;
public void attack1(payer2 a){
vitality-=a.trump;
a.vitality-=attack;
System.out.println(name+"攻击"+a.name+","+name+"的生命值减少"+a.trump+","+"当前剩余"+vitality+","+a.name+"的生命值减少"+attack+","+"当前剩余"+a.vitality);
if(vitality<=0&&a.vitality<=0){
System.out.println(name+"和"+a.name+"同时死亡"+",游戏结束");
}
else if(vitality<=0){
System.out.println(name+"死亡"+",游戏结束");
}
else if(a.vitality<=0){
System.out.println(a.name+"死亡"+",游戏结束");
}
}
}
package game;
public class payer2 {
public int vitality;
public String name;
public int attack;
public int trump;
public void attack2(payer1 a){
vitality-=a.trump;
a.vitality-=attack;
System.out.println(name+"攻击"+a.name+","+name+"的生命值减少"+a.trump+","+"当前剩余"+vitality+","+a.name+"的生命值减少"+attack+","+"当前剩余"+a.vitality);
if(vitality<=0&&a.vitality<=0){
System.out.println(name+"和"+a.name+"同时死亡"+",游戏结束");
}
else if(vitality<=0){
System.out.println(name+"死亡"+",游戏结束");
}
else if(a.vitality<=0){
System.out.println(a.name+"死亡"+",游戏结束");
}
}
}
结果示例
美国队长攻击值为9,当前生命值为82反噬值为5
灭霸攻击值为8,当前生命值为106反噬值为1
灭霸攻击美国队长,灭霸的生命值减少5,当前剩余101,美国队长的生命值减少8,当前剩余74
灭霸攻击美国队长,灭霸的生命值减少5,当前剩余96,美国队长的生命值减少8,当前剩余66
灭霸攻击美国队长,灭霸的生命值减少5,当前剩余91,美国队长的生命值减少8,当前剩余58
灭霸攻击美国队长,灭霸的生命值减少5,当前剩余86,美国队长的生命值减少8,当前剩余50
灭霸攻击美国队长,灭霸的生命值减少5,当前剩余81,美国队长的生命值减少8,当前剩余42
灭霸攻击美国队长,灭霸的生命值减少5,当前剩余76,美国队长的生命值减少8,当前剩余34
灭霸攻击美国队长,灭霸的生命值减少5,当前剩余71,美国队长的生命值减少8,当前剩余26
灭霸攻击美国队长,灭霸的生命值减少5,当前剩余66,美国队长的生命值减少8,当前剩余18
灭霸攻击美国队长,灭霸的生命值减少5,当前剩余61,美国队长的生命值减少8,当前剩余10
灭霸攻击美国队长,灭霸的生命值减少5,当前剩余56,美国队长的生命值减少8,当前剩余2
灭霸攻击美国队长,灭霸的生命值减少5,当前剩余51,美国队长的生命值减少8,当前剩余-6
美国队长死亡,游戏结束