构建类Titan,要求如下: 整形字段HP,以及相应的getter和setter 空参数列表构造方法Titan(),创造出的HP默认为700 带参数构造方法Titan(int HP),创造出指定HP的对象 方法attack(Zues z),参数为宙斯对象,每次调用此方法后,用随机数的方式,随机产生10-100的整数伤害,减少参数宙斯对象的HP,并且攻击结果需要在控制台输出,格式为“泰坦攻击宙斯,产生**点伤害,宙斯当前HP为**”。 构建类Zues,要求如下: 整形字段HP,以及相应的getter和setter 空参数列表构造方法Zues (),创造出的HP默认为1000 带参数构造方法Zues (int HP),创造出指定HP的对象 方法attack(Titan t),参数为泰坦对象,每次调用此方法后,用随机数的方式,随机产生0-70的整数伤害,减少参数泰坦对象的HP,并且攻击结果需要在控制台输出,格式为“宙斯攻击泰坦,产生**点伤害,泰坦当前HP为**”。 构建类ClashOfTheTitans,要求如下: 拥有main方法,在该方法中,首先构建泰坦和宙斯对象,使用do while循环,让泰坦和宙斯相互攻击,每次攻击完毕后,判断泰坦和宙斯相应的HP,如果某一方HP小于等于0,则停止循环,并输出结果,格式为“泰坦/宙斯HP为**,已经失败,胜利者是宙斯/泰坦!”
时间: 2024-03-23 14:40:22 浏览: 140
好的,以下是符合要求的代码:
```java
import java.util.Random;
class Titan {
private int HP;
public int getHP() {
return HP;
}
public void setHP(int HP) {
this.HP = HP;
}
public Titan() {
this.HP = 700;
}
public Titan(int HP) {
this.HP = HP;
}
public void attack(Zues z) {
Random random = new Random();
int damage = random.nextInt(91) + 10;
z.setHP(z.getHP() - damage);
System.out.println("泰坦攻击宙斯,产生" + damage + "点伤害,宙斯当前HP为" + z.getHP());
}
}
class Zues {
private int HP;
public int getHP() {
return HP;
}
public void setHP(int HP) {
this.HP = HP;
}
public Zues() {
this.HP = 1000;
}
public Zues(int HP) {
this.HP = HP;
}
public void attack(Titan t) {
Random random = new Random();
int damage = random.nextInt(71);
t.setHP(t.getHP() - damage);
System.out.println("宙斯攻击泰坦,产生" + damage + "点伤害,泰坦当前HP为" + t.getHP());
}
}
public class ClashOfTheTitans {
public static void main(String[] args) {
Titan titan = new Titan();
Zues zues = new Zues();
do {
titan.attack(zues);
if (zues.getHP() <= 0) {
System.out.println("宙斯HP为0,已经失败,胜利者是泰坦!");
break;
}
zues.attack(titan);
if (titan.getHP() <= 0) {
System.out.println("泰坦HP为0,已经失败,胜利者是宙斯!");
break;
}
} while (true);
}
}
```
阅读全文