面向对象:怪蜀黍PK奥特曼

这是我为了好记而用了中文

说明:大家做的时候要用英文建立包和类

一、怪蜀黍的类
package 奥特曼打怪蜀黍;

public class 怪蜀黍 {
    private String name;
    private int hp;
    private int mp;


/**
     * @param name
     */
    public 怪蜀黍(String name) {
        super();
        this.name = name;
        this.hp = 3400;
        this.mp = 100;
    }

public void attack(奥特曼 a){
    int hurt = (int) (Math.random() * 60 + 25);
    a.setHp(a.getHp() - hurt);
}

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 > 0 ? mp : 0;
}

public void magicAttack(奥特曼 a){
    mp -= 40;
    if (mp >= 0) {
        int magicHurt = (int) (Math.random() * 300 +30);
    a.setHp(a.getHp() - magicHurt);     
    }else {
        int hurt = (int) (Math.random() * 60 + 25);
        a.setHp(a.getHp() - hurt);
    }
}
public String toString() {
    return "怪蜀黍" + name + "生命值" + hp;

}
}

二、奥特曼的类

package 奥特曼打怪蜀黍;

public class 奥特曼 {
     private String name;
     private int hp;
     private int mp;     

/**    构造器
     * @param name
     */
    public 奥特曼(String name) {
        this.name = name;
        this.hp = 3500;
        this.mp = 200;
    }
/**
 * 攻击
 * @param g 怪蜀黍
 */
public void attack(怪蜀黍 g){
    int hurt = (int) (Math.random() * 120 +5);
    g.setHp(g.getHp() - hurt);

}

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;
}

public void magicAttack(怪蜀黍 g){
    int magicHurt = (int) (Math.random() * 80 +10);
    g.setHp(g.getHp() - magicHurt);
}

 public String toString() {
    return "奥特曼" + name + "生命值" + hp;

}
}

三、怪蜀黍和奥特曼相互打击

package 奥特曼打怪蜀黍;

public class 奥特曼PK怪蜀黍 {

    public static void main(String[] args) {
        奥特曼 a = new 奥特曼("坤坤");
        怪蜀黍 g = new 怪蜀黍("琪琪");

        int round = 1;
        do {System.out.println("第====="+ round++ + "=====回合PK开始!");             
            if (g.getHp() > 0) {
                double rate1 = Math.random();
                if (rate1 > 0.3) {
                        System.out.println("怪蜀黍普通攻击了奥特曼。。");
                        g.attack(a);
                }else {
                    System.out.println("怪蜀黍使用了法术攻击奥特曼。。");
                        g.magicAttack(a);
                } 
            }

            System.out.println(a);
            if (a.getHp() > 0) {
                double rate = Math.random();
                if (rate > 0.3) {
                    System.out.println("奥特曼使用拳头打怪蜀黍!!");
                    a.attack(g);
                }else {
                    System.out.println("奥特曼使用了强力魔法攻击!!");
                    a.magicAttack(g);
                }
            }
            System.out.println(g);  
        } while (a.getHp() > 0 && g.getHp() > 0);
        if (a.getHp() > 0) {
            System.out.println("奥特曼胜利!!");
        }else {
            System.out.println("怪蜀黍胜利!!");
        }
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值