要求:
(1)分别建立宙斯和泰坦类,两个类都有属性“血量”, 设宙斯初始血量为1000,设泰坦初始血量为700。
(2)都有交战的方法:
泰坦交战方法的参数是宙斯,随机生成0~100间的攻击值,受到攻击的宙斯的血量要相应扣除,
然后输出“泰坦攻击宙斯,宙斯扣除血量”+攻击值+“剩余血量”+宙斯的血量。
(3)宙斯交战的方法和泰坦一样,只是参数为泰坦,攻击值在0~70之间。
(4)编写测试类,并在该类中编写双方交战方法,该方法有两个参数:宙斯和泰坦。
该方法要实现双方要持续交战,直到一方血量小于或等于0。首先由宙斯攻击泰坦,随后泰坦攻击宙斯。
攻击后,任意一方血量小于0或等于0,均输出“A死亡,B获胜”
(A为血量小于或等于0的一方,B为获胜方)。退出模拟交战。
package 面向对象_HomeWork;
import java.util.Random;
public class 交战 {
public static void main(String[] args) {
God_T t=new God_T();
God_Z z=new God_Z();
attack(z,t);
System.out.println("退出模拟交战!");
}
public static void attack(God_Z z,God_T t){
boolean f=true;
while(true){
if(f){
z.war1(t);//宙斯和泰坦打
}else
{
t.war2(z);//泰坦和宙斯打
}
f=!f;//翻转
if(z.blood1<=0){
System.out.println("宙斯死亡,泰坦赢");
break;
}
if(t.blood2<=0){
System.out.println("泰坦死亡,宙斯赢");
break;
}
}
}
}
class God_Z{
double blood1=1000;
public void war1 (God_T T){//开始交战
Random r1=new Random();
int attack1=r1.nextInt(71);//宙斯的攻击值
T.blood2=T.blood2-attack1;
System.out.println("宙斯攻击泰坦,泰坦扣除血量:"+attack1+"泰坦的血量:"+T.blood2);
}
}
class God_T{
double blood2=700;
public void war2(God_Z Z){//开始交战
Random r2=new Random();
int attack2=r2.nextInt(101);//泰坦的攻击值
Z.blood1=Z.blood1-attack2;
System.out.println("泰坦攻击宙斯,宙斯扣除血量:"+attack2+"宙斯的血量:"+Z.blood1);
}
}
![](https://img-blog.csdnimg.cn/20200630135326634.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0phdmFwcmludGY=,size_16,color_FFFFFF,t_70)