泰坦-宙斯之战
本实验要求:随机实现"泰坦"与"宙斯"之间的模拟交战。
1)业务说明:
本实验以希腊神话中宙斯和泰坦间的交战为业务背景。
设宙斯初始血量为:1000,每次攻击伤害在:0~70范围内。
设泰坦初始血量为:700,每次攻击伤害在:0~100范围内。
宙斯先攻击泰坦,泰坦反击,直到一方死亡(血量小于等于0)为止。
2)创建实体类:Taitan 为泰坦实体类创建属性,血量:整数类型,默认值700。
创建血量属性的getter和setter方法。
3)创建实体类:Zeus为宙斯实体类创建属性,血量:整数类型,默认值1000。
创建血量属性的getter和setter方法。
4)创建交战函数:
限制1:为泰坦实体添加攻击函数,函数名:attack,含1个参数:宙斯。
函数随机产生0~100间的随机攻击值,并攻击宙斯实体(参数)。
受到攻击的宙斯实体(参数)需要扣除对应的血量。
扣除血量后,向控制台输出:“泰坦攻击宙斯,宙斯扣血:” + 攻击值 + “, 剩余:” + 宙斯的血量属 性。
限制2:为宙斯实体添加攻击函数,函数名attack,含1个参数:泰坦。
函数随机产生0~70间的随机攻击值,并攻击泰坦实体(参数)。
受到攻击的泰坦实体(参数)需要扣除对应的血量。
扣除血量后,向控制台输出:“宙斯攻击泰坦,泰坦扣血:” + 攻击值 + “,剩余:” + 泰坦的血量属 性。
5)实现"泰坦"与"宙斯"之间的模拟交战:
限制1. 在包cn.campsg.java.experiment下创建主类:MainClass。
限制2. 编写模拟交战函数,函数名:attack,含2个参数:宙斯、泰坦。
该函数需要确保:宙斯和泰坦持续交战,直到一方血量小于等于0。
首先由宙斯攻击泰坦,随后泰坦攻击宙斯。
攻击后,任意一方血量小于等于0,均向控制台输出:“A死亡,B获胜”(A为血量小于等于0的一 方,B为获胜方)。
退出模拟交战。
实现效果:
Taitan类:
import java.util.*;
public class Taitan {
public int hp=700;
public int getBloodvolume() {
return hp;
}
public void setBloodvolume(int bloodvolume) {
this.hp = bloodvolume;
}
void attack(Zeus z){
Random random=new Random();
int num=random.nextInt(101);
z.hp-=num;
System.out.println("泰坦攻击宙斯,宙斯扣血:"+num+"剩余"+z.hp);
}
}
Zeus类:
import java.util.*;
public class Zeus {
public int hp=1000;
public int getHp() {
return hp;
}
public void setHp(int hp) {
this.hp = hp;
}
void attack(Taitan t){
Random random=new Random();
int num=random.nextInt(71);
t.hp-=num;
System.out.println("宙斯攻击泰坦,泰坦扣血:"+num+"剩余"+t.hp);
}
}
MainClass主类:
import java.util.*;
import java.io.*;
public class MainClass {
public static void main(String[] args){
Taitan t=new Taitan();
Zeus z=new Zeus();
boolean flag=true;
while(true){
if(flag){
t.attack(z);
}
else{
z.attack(t);
}
flag=!flag;
if(t.hp<=0){
System.out.println("泰坦死亡,宙斯获胜");
break;
}
if(z.hp<=0) {
System.out.println("宙斯死亡,泰坦获胜");
break;
}
}
}
}