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

练习:回合制对战游戏:奥特曼和小怪兽进行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小菜鸟!

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

“奥特曼攻打小怪兽”java学习打怪升级第一步的更多相关文章

  1. 20145330《Java学习笔记》第一章课后练习8知识总结以及IDEA初次尝试

    20145330<Java学习笔记>第一章课后练习8知识总结以及IDEA初次尝试 题目: 如果C:\workspace\Hello\src中有Main.java如下: package cc ...

  2. C#开发学习人工智能的第一步

    前言 作为一个软件开发者,我们除了要学会复制,黏贴,还要学会调用API和优秀的开源类库. 也许,有人说C#做不了人工智能,如果你相信了,那只能说明你的思想还是狭隘的. 做不了人工智能的不是C#这种语言 ...

  3. java微信开发API第一步 服务器接入

    I如何接入服务器,下面就为大家进行介绍 一.说明 * 本示例根据微信开发文档:http://mp.weixin.qq.com/wiki/home/index.html最新版(4/3/2016 5:34 ...

  4. [EntLib]微软企业库5.0 学习之路——第一步、基本入门

    话说在大学的时候帮老师做项目的时候就已经接触过企业库了但是当初一直没明白为什么要用这个,只觉得好麻烦啊,竟然有那么多的乱七八糟的配置(原来我不知道有配置工具可以进行配置,请原谅我的小白). 直到去年在 ...

  5. (大数据工程师学习路径)第一步 Linux 基础入门----文件系统操作与磁盘管理

    介绍 本节的文件系统操作的内容十分简单,只会包含几个命令的几个参数的讲解,但掌握这些也将对你在学习后续其他内容的过程中有极大帮助. 因为本课程的定位为入门基础,尽快上手,故没有打算涉及太多理论内容,前 ...

  6. 学习Nodejs的第一步

    最近看了几本关于Node.js的书,本来个人技术分享网站http://yuanbo88.com/是打算用Node.js作为服务器端语言来处理后台的,后来又改成了PHP(也是自己研究,毕竟网上DEMO多 ...

  7. Java学习IO流第一天

    今日内容介绍 字节流 字符流 1 字节流 在前面的学习过程中,我们一直都是在操作文件或者文件夹,并没有给文件中写任何数据.现在我们就要开始给文件中写数据,或者读取文件中的数据. 1.1 字节输出流Ou ...

  8. #Java学习之路——第一部分总结

    今天主要是Java的入门以及idea的安装说实话,没有什么有技术含量的东西,发的也全是皮毛,但是在数组部分有很多细节需要注意,在JDK环境变量配置的地方不光光只有windows 的环境配置,还要掌握补 ...

  9. Java学习笔记整理第一章 java基本数据类型、修饰符、运算符

    Java关键字: Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量.Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的 ...

随机推荐

  1. 烂泥:nginx负载均衡

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 今天我们来学习下有关nginx的负载均衡配置.nginx的负载均衡是通过nginx的upstream模块和proxy_pass反向代理来实现的. 说明: ...

  2. android中的数据存取-方式一:preference(配置)

    这种方式应该是用起来最简单的Android读写外部数据的方法了.他的用法基本上和J2SE(java.util.prefs.Preferences)中的用法一样,以一种简单. 透明的方式来保存一些用户个 ...

  3. STM32的USART

    转载自:http://www.cnblogs.com/TrueElement/archive/2012/09/14/2684298.html 几个问题: 1.状态寄存器(USART_SR)中的TC(T ...

  4. [译] OpenStack Kilo 版本中 Neutron 的新变化

    OpenStack Kilo 版本,OpenStack 这个开源项目的第11个版本,已经于2015年4月正式发布了.现在是个合适的时间来看看这个版本中Neutron到底发生了哪些变化了,以及引入了哪些 ...

  5. Android工程师入门(一)——这周入大门,挤时间,轻喷

    挤挤时间,入个门先. 一.环境搭建 略. 二.项目结构 在studio中,项目=Module: res:放置应用到的所有资源——基本决定了生成的APK的大小: java:java源程序: manife ...

  6. 扫盲 BT Sync——不仅是同步利器,而且是【分布式】网盘

    先向大伙儿宣布个好消息-- 经过多位热心读者的大力支持,经过几天的努力,已经完成了"微软网盘"到"BitTorrent Sync"的迁移工作. 再次向这批热心读 ...

  7. Quantum Bogo sort浅谈

    1.普通的猴子排序(bogo sort) 猴子排序百科 en.wikipedia.org/wiki/Bogosort 不停的随机打乱序列,然后检查,直到排好序 复杂度O(n*n!) while not ...

  8. Sphinx和coreseek检索引擎

    Sphinx是检索英文用,coreseek是检索中文用. Sphinx(斯芬克斯)是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索 ...

  9. NOI 2002 营业额统计 (splay or fhq treap)

    Description 营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司成立以来每 ...

  10. React 学习笔记(一)

    React + es6 一.createClass 与 component 的区别 The API (via 'extends React.Component') is similar to Reac ...