zoukankan      html  css  js  c++  java
  • “奥特曼攻打小怪兽”java学习打怪升级第一步

    ---恢复内容开始---

    练习:回合制对战游戏:奥特曼和小怪兽进行PK,直到一方的血量为0时结束战斗,输出谁胜利了!

    不难看出场景中有两个对象:”奥特曼“这一对象抽象为”Ao"类;

                      “小怪兽”这一对象抽象为“Master”类;

    找出场景中的对象以及对象的特征和行为:

                 奥特曼:特征(属性):名字,血量,攻击力;

                                                  行为:攻打小怪兽;

                小怪兽:特征(属性):名字,血量,攻击力;

                    行为:攻打奥特曼;

    弄清楚这些基本概念,开始着手新建一个AO类,代码如下:

      public class Ao

        {
      public String name;
      public int attack;
      public int blood;
      public void attack(Master m)  //小怪兽的行为:小怪兽攻击奥特曼

        {

        m.blood-=attack;   //m.blood=m.blood-attack。或者也可以写成:m.blood--,那么在主函数中设定的attack的值就没有作用了

      System.out.println(name+"正在攻击"+m.name+","+m.name+"剩余的血量是"+m.blood);
      if(m.blood<=0)

        {
      System.out.println(name+"胜利!");
      }
      }
      }

    接下来新建一个Master类,代码如下:    

      public class Master

         {
      public String name;
      public int attack;
      public int blood;
      public void attack(Ao a)  

        {
      a.blood-=attack;
      System.out.println(name+"正在攻击"+a.name+","+a.name+"剩余的血量是"+a.blood);
      if(a.blood<=0)

        {
      System.out.println(name+"胜利!");
      }
      }
      }

    最后创建一个主函数,即Manger类,代码如下:

      public class Manger

        {
      public static void main(String [] args)

        {
      Ao a = new Ao();
      a.name = "奥特曼";
      a.attack = 3;
      a.blood = 30;
      Master m = new Master();
      m.name ="小怪兽";
      m.attack = 2;
      m.blood = 30;
      while(a.blood>0&&m.blood>0)

        {
      a.attack(m);
      if(m.blood<=0)

        {
      break;    //防止出现当小怪兽的血量为零时,继续输出“小怪兽攻打奥特曼”
      }
      m.attack(a);
      if(m.blood<=0)

        {
      break;
      }

      }

      }
      }

    容易犯的小错误:

    1在编译的时候要保障与类名一致;(记住要大写);

    2"a.blood()>0"这种表达是错误的,因为blood是公共的,它不是私人的,不需要带括号。

    我的小感悟:

    虽然这是一个简单的java程序,但是我花了3个小时去实现它,我不是一个具有灵敏的理工思维的学生,但是我相信勤能补拙!加油,java小菜鸟!

    ---恢复内容结束---

  • 相关阅读:
    shared pointer
    realsense数据分析
    cmake log
    Qt自定义类添加qvector报错
    Java csv
    opencv C++ mask_rcnn
    realsense data
    Test
    ubuntu18 bluebooth
    LSTM_Model
  • 原文地址:https://www.cnblogs.com/java-7/p/5513778.html
Copyright © 2011-2022 走看看