1.先创建一个奥特曼类


//设置奥特曼类
public class AutoMan {
    //设置属性
    private int blood;
    private String name;
    //构造方法,通过构造方法设置初始化值
    public AutoMan(int blood, String name) {
        this.blood = blood;
        this.name = name;
    }
    //设置get/set
    public int getBlood() {
        return blood;
    }
    public void setBlood(int blood) {
        this.blood = blood;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

//攻击小怪兽方法,无返回值方法
    public void attack(Monster monster) {
        //随机数来随机攻击血量0~10
        int number = (int)(Math.random()*11);
        //攻击怪兽丢失血量
        monster.setBlood(monster.getBlood() - number);
        
        System.out.println("小怪兽受伤了,失去了" + number + "点血,还剩" + monster.getBlood());
    }

}

2.创建一个怪兽类


//设置怪兽类
public class Monster {
    //设置属性
    private int blood;
    private String name;
    //设置构造函数
    public Monster(int blood, String name) {
        this.blood = blood;
        this.name = name;
    }
    
    //设置get/set
    public int getBlood() {
        return blood;
    }
    public void setBlood(int blood) {
        this.blood = blood;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

//攻击奥特曼方法,无返回值方法
    public void attack(AutoMan automan) {
        //随机数Math.random,随机数来随机攻击血量0~10
        int number = (int)(Math.random()*11);
        //攻击奥特曼丢失血量
        automan.setBlood(automan.getBlood() - number);
        
        System.out.println("奥特曼受伤了,失去了" + number + "点血,还剩" + automan.getBlood());
    }
}

创建一个PK方法


public class PK {
    //设置静态PK方法,通过输入对象进行PK
    public static void PK1V1(AutoMan automan,Monster monster) {
        //执行1V1,通过do while循环来pk
        do {
            //设置随机数来判断攻击方
            int random = (int)(Math.random()*11);
            //调用奥特曼攻击方法和怪兽攻击方法
            if(random>5) {
                automan.attack(monster);
            }else {
                monster.attack(automan);
            }
            //当双方都有血量的时候执行循环
        }while(automan.getBlood()>0 && monster.getBlood()>0);
        //其中一方没有血量了游戏结束,输出结果
        if(automan.getBlood()<=0) {
            System.out.println(automan.getName() + "死了" + monster.getName() + "赢了");
        }else {
            System.out.println(monster.getName() + "死了" + automan.getName() + "赢了");
        }
    }
}

通过main方法调用PK方法


public class Attack {
    //main方法
    public static void main(String[] args) {
        //new两个对象,初始化双方属性
        AutoMan automan = new AutoMan(200,"迪迦奥特曼");
        Monster monster = new Monster(200,"哥尔赞");
        //调用PK方法判断胜负
        PK.PK1V1(automan, monster);
    
    }
}

java实现奥特曼打小怪兽,用封装的思想相关推荐

  1. java学习之类与对象篇——奥特曼打小怪兽

    java学习之类与对象篇--奥特曼打小怪兽 初次接触Java,我们就被告知Java是一种面向对象的程序设计语言,那么什么是面向对象呢?什么又是对象呢?带着这些个疑问,我们开始了Java学习之旅. 1. ...

  2. java奥特曼对战小怪兽_“奥特曼攻打小怪兽”java打怪升级第一步

    练习:回合制对战游戏:奥特曼和小怪兽进行PK,直到一方的血量为0时结束战斗,输出谁胜利了! 不难看出场景中有两个对象:"奥特曼"这一对象抽象为"Ao"类: &q ...

  3. JAVA继承:奥特曼打小怪兽

    一.继承的基础知识: 1.类的继承的作用: 1)提高代码的重用性. 2)提高程序的扩展性. 简单来说,就是减少代码长度,减少工作量,工程量较小的时候,体现不出继承的优点,但是如果工程量很大的时候,比如 ...

  4. java面向对象之对象数组练习“奥特曼打小怪兽混战”

    import java.util.Arrays; import day10.homework.Aliens; /**  *   * @Description  *   * 随机奥特曼打小怪兽  *  ...

  5. java奥特曼对战小怪兽_JAVA程序设计(09)-----面对对象设计初级应用 奥特曼打小怪兽...

    1.一个奥特曼固定属性 4个小怪兽随机名字 随机属性 奥特曼有几率发动暴风雪技能 对所有小怪兽造成 50%~60%冰霜伤害 无视防御力 普通攻击伤害为 攻击力*80~120% - 对方防御力*60%~ ...

  6. java基础练习之奥特曼打小怪兽

    /******************外星人公共类******************/ public class Aliens {     // 外星人姓名     private String n ...

  7. Python——用面相对象写奥特曼大战小怪兽

    一,知识点 基本的面向对象知识 理解继承,多态,封装,不会的小伙可以看这篇超详细教程 了解基本的装饰器知识不会的小伙伴可以看这个讲解 ** 二,代码(奥特曼大战小怪兽) from abc import ...

  8. 简单的奥特曼打小怪兽

    奥特曼打小怪兽 需求 创建两个类,一个奥特曼类,一个怪兽类, 分别有各自对应的属性和方法 编写一个测试类,实现奥特曼与怪兽的创建,并让他们两个互相攻击,最后给出胜利结果 说明 奥特曼 属性: 血量 攻 ...

  9. Scala - 小项目 - 奥特曼打小怪兽

    一.项目描述 奥特曼 1个名字血量普通 必杀 一次只能打1只魔法 所有奥特曼的攻击 10%必杀 30%魔法 60%普攻小怪兽 4只名字血量普通 回合制游戏示例输出: ======== 第1回合 === ...

最新文章

  1. Iterative error correction of long sequencing reads maximizes accuracy and improves contig assembly
  2. 2021首期Nature封面:牛津大学ML算法实现10万高压非晶硅原子的模拟​ | AI日报
  3. ubuntu 配置 jdk 环境
  4. java面试题-----------静态代码块和代码块和构造方法执行顺序
  5. 【NOI2015】品酒大会【后缀数组】【并查集】
  6. Qt基于TCP网络程序发包封包抽象
  7. react fiber_让我们爱上React Fiber
  8. win10计算机休眠快捷键,win10睡眠快捷键,win10睡眠按啥键唤醒
  9. clickhouse
  10. 苹果宣布前CEO史蒂夫·乔布斯逝世
  11. Kent Beck揭秘Facebook开发部署流程
  12. 自营、自营+平台、平台
  13. 理解最大回撤及Python实现
  14. TweenMax 教程 使用
  15. 关于“小于/等于/大于”的英文缩写
  16. EDM邮件营销推广方法分享
  17. 饥荒怎么自动订阅服务器,steam饥荒自动订阅mod在哪设置 | 手游网游页游攻略大全...
  18. 22考研:学长学姐考研期间最后悔的事!引以为戒
  19. CSDN开发者周刊:因制裁 多个地区GitHub账号使用受限!Python 之父考虑重构解释器​​​​​​​
  20. app热更新失败:安装wgt文件失败[-1205]:WGT安装包中manifest.json文件的version版本不匹配

热门文章

  1. 人工智能未来会取代人类吗?AI智能,科技正在改变我们的历史
  2. Linux下uniq命令的详解
  3. 软件开发成本太高,怎么办?
  4. (转)14个值得推荐的提升个人能力的方法
  5. brew update巨慢怎么办
  6. Linux之mv命令
  7. 【收集】【API接口】收集好用的API接口网站(会持续更新)
  8. Linux上pptx转pdf
  9. 信仰缺失下的迷茫 (白岩松)
  10. 网易金融萎缩 保险服务下线倒计时