/******************外星人公共类******************/
public class Aliens {
// 外星人姓名
private String name;
// 外星人生命值
private int HP = 100;
// 外星人攻击力
private int attackPower = (int) (Math.random() * 10 + 1);
public Aliens(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getHP() {
return HP;
}
public void setHP(int hP) {
HP = hP;
}
public int getAttackPower() {
return attackPower;
}
public void setAttackPower(int attackPower) {
this.attackPower = attackPower;
}
}
/******************打架实现******************/
/**
*
* @Description
*
* 奥特曼打小怪兽
*
* @author LiuLiRan Email:liuliran1998@Vip.qq.com
* @version 1.0
* @date 2021年10月10日下午3:40:13
*
*/
public class Battlefield {
// 战斗结束标记
static boolean fight = true;
public static void main(String[] args) {
// 生成战斗双方的对象
Aliens ultraman = new Aliens("迪迦");
Aliens monsters = new Aliens("哥尔赞");
System.out.println("----------------战斗开始----------------\n");
System.out.println("奥特曼:" + ultraman.getName() + "生命值:" + ultraman.getHP());
System.out.println("小怪兽:" + monsters.getName() + "生命值:" + monsters.getHP() + "\n");
System.out.println("----------------战斗开始----------------\n");
while (fight) {
// 定义战斗方法为:fighting,参数值为对战双方的对象
fighting(ultraman, monsters);
}
}
/**
*
* @Description
*
* 触发战斗方法
*
* @author LiuLiRan Email:liuliran1998@Vip.qq.com
* @date 2021年10月10日下午3:39:42
* @param ultraman
* @param monsters
*/
public static void fighting(Aliens ultraman, Aliens monsters) {
// 随机数小于50奥特曼发起进攻,大于50小于100怪兽发起进攻!
int rand = (int) (Math.random() * 100);
// 获得每次发起进攻时双方的攻击力
int atmAp = ultraman.getAttackPower();
int monAp = monsters.getAttackPower();
if (rand < 50) {
System.out.println(ultraman.getName() + "奥特曼发起进攻!对小怪兽造成了" + atmAp + "点伤害\n");
monsters.setHP(monsters.getHP() - atmAp);
System.out.println("奥特曼:" + ultraman.getName() + "生命值剩余:" + ultraman.getHP());
System.out.println("小怪兽:" + monsters.getName() + "生命值剩余:" + monsters.getHP());
System.out.println("----------------分割线----------------\n\n");
} else {
System.out.println(monsters.getName() + "发起进攻!对奥特曼造成了" + monAp + "点伤害\n");
ultraman.setHP(ultraman.getHP() - monAp);
System.out.println("奥特曼:" + ultraman.getName() + "生命值剩余:" + ultraman.getHP());
System.out.println("小怪兽:" + monsters.getName() + "生命值剩余:" + monsters.getHP());
System.out.println("----------------分割线----------------\n\n");
}
if (monsters.getHP() <= 0 || ultraman.getHP() <= 0) {
// 当有一方生命值小于等于零时,战斗结束
fight = false;
System.out.println("----------------战斗结束----------------\n\n");
// 判断哪方获得了最后的胜利
if (monsters.getHP() <= 0) {
System.out.println("----------------经过艰苦战斗," + ultraman.getName() + "取得了最后的胜利----------------\n\n");
} else {
System.out.println("----------------经过艰苦战斗," + monsters.getName() + "取得了最后的胜利----------------\n\n");
}
}
}
}