package com.lovo;
/**
* 奥特曼
*
* @author L"_"L
*
*/
public class Ultraman {
private String name; // 名字
private int hp; // 生命值
private int mp; // 魔法值
/**
* 构造器
*
* @param name 名字
*/
public Ultraman(String name) {
this.name = name;
this.hp = 300;
this.mp = 100;
}
/**
* 物理攻击
*
* @param m 小怪兽
*/
public void attack(Monster m) {
int injury = (int) (Math.random() * 21 + 10);
m.setHp(m.getHp() - injury);
}
/**
* 究极必杀技
*
* @param m 小怪兽
*/
public void hugeAttack(Monster m) {
m.setHp(m.getHp() - 50);
}
/**
* 魔法攻击
*
* @param ms 小怪兽
*/
public void magicAttack(Monster[] ms) {
mp -= 30;
for (int i = 0; i < ms.length; i++) {
Monster m = ms[i];
if (m.isAlive()) {
m.setHp(m.getHp() - 20);
}
}
}
public int getHp() {
return hp;
}
public void setHp(int hp) {
this.hp = hp > 0 ? hp : 0;
}
public int getMp() {
return mp;
}
public void setMp(int mp) {
this.mp = mp < 100? mp : 100;
}
@Override
public String toString() {
return "奥特曼" + name + "的生命值: " + hp;
}
}
用面向对象和数组做出奥特曼打小怪兽(奥特曼)
最新推荐文章于 2024-08-01 15:05:06 发布