“奥特曼攻打小怪兽”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小菜鸟!
---恢复内容结束---
“奥特曼攻打小怪兽”java学习打怪升级第一步的更多相关文章
- 20145330《Java学习笔记》第一章课后练习8知识总结以及IDEA初次尝试
20145330<Java学习笔记>第一章课后练习8知识总结以及IDEA初次尝试 题目: 如果C:\workspace\Hello\src中有Main.java如下: package cc ...
- C#开发学习人工智能的第一步
前言 作为一个软件开发者,我们除了要学会复制,黏贴,还要学会调用API和优秀的开源类库. 也许,有人说C#做不了人工智能,如果你相信了,那只能说明你的思想还是狭隘的. 做不了人工智能的不是C#这种语言 ...
- java微信开发API第一步 服务器接入
I如何接入服务器,下面就为大家进行介绍 一.说明 * 本示例根据微信开发文档:http://mp.weixin.qq.com/wiki/home/index.html最新版(4/3/2016 5:34 ...
- [EntLib]微软企业库5.0 学习之路——第一步、基本入门
话说在大学的时候帮老师做项目的时候就已经接触过企业库了但是当初一直没明白为什么要用这个,只觉得好麻烦啊,竟然有那么多的乱七八糟的配置(原来我不知道有配置工具可以进行配置,请原谅我的小白). 直到去年在 ...
- (大数据工程师学习路径)第一步 Linux 基础入门----文件系统操作与磁盘管理
介绍 本节的文件系统操作的内容十分简单,只会包含几个命令的几个参数的讲解,但掌握这些也将对你在学习后续其他内容的过程中有极大帮助. 因为本课程的定位为入门基础,尽快上手,故没有打算涉及太多理论内容,前 ...
- 学习Nodejs的第一步
最近看了几本关于Node.js的书,本来个人技术分享网站http://yuanbo88.com/是打算用Node.js作为服务器端语言来处理后台的,后来又改成了PHP(也是自己研究,毕竟网上DEMO多 ...
- Java学习IO流第一天
今日内容介绍 字节流 字符流 1 字节流 在前面的学习过程中,我们一直都是在操作文件或者文件夹,并没有给文件中写任何数据.现在我们就要开始给文件中写数据,或者读取文件中的数据. 1.1 字节输出流Ou ...
- #Java学习之路——第一部分总结
今天主要是Java的入门以及idea的安装说实话,没有什么有技术含量的东西,发的也全是皮毛,但是在数组部分有很多细节需要注意,在JDK环境变量配置的地方不光光只有windows 的环境配置,还要掌握补 ...
- Java学习笔记整理第一章 java基本数据类型、修饰符、运算符
Java关键字: Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量.Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的 ...
随机推荐
- SQL Server中的RAND函数的介绍和区间随机数值函数的实现
工作中会遇到SQL Server模拟数据生成以及数值列值(如整型.日期和时间数据类型)随机填充等等任务,这些任务中都要使用到随机数.鉴于此,本文将对SQL Server中随机数的使用简单做个总 ...
- asp.net服务器控件onclick带参数
服务器控件处理参数随笔 正确: <asp:CheckBox ID="cbComplareProduct" runat="server" Text=&quo ...
- x01.os.16: 添加功能
准备工作 1.确保是 win xp,如是 win 8,运行 nasm 需按提示同意安装组件. 2.确保 src 和 z_tools 在同一目录下,nasm 已包含在 z_tools 文件夹中. ...
- ixgbe 82599 固定源与目标, UDP, 64字节小包, 1488w pps 单核CPU软中断sirq 100%
ixgbe 82599 固定源与目标, UDP, 64字节小包, 1488w pps 单核CPU软中断sirq 100% 注: 测试使用, 正常应用不要开启 五元组不同, 开启ntupleethtoo ...
- Seq_file文件系统实例剖析
http://blog.chinaunix.net/uid-24432676-id-2607766.html 另 http://www.cnblogs.com/qq78292959/archive/2 ...
- JavaScript中的函数表达式
在JavaScript中,函数是个非常重要的对象,函数通常有三种表现形式:函数声明,函数表达式和函数构造器创建的函数. 本文中主要看看函数表达式及其相关的知识点. 函数表达式 首先,看看函数表达式的表 ...
- Bubble Sort [ASM-MIPS]
# Program: Bubble sort # Language: MIPS Assembly (32-bit) # Arguments: 5 unordered numbers stored in ...
- POJ1270 Following Orders[拓扑排序所有方案 Kahn]
Following Orders Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 4885 Accepted: 1973 ...
- [No000058]一口气读完一本英语书
个人:"如何学好英语?"99个人会回答:"去,读英文原著." 然而这事儿吧,恐怕比坚持背单词还难.无论少侠们背过多少单词,最后都会败在生词太多.句子太难的坎儿上 ...
- NOIP模拟赛 行走
题目描述 “我有个愿望,我希望走到你身边.” 这是个奇异的世界,世界上的n-1条路联结起来形成一棵树,每条路有一个对应的权值ci. 现在我会给出q组询问或操作. 每次询问我会从一个x点走到y点,初始在 ...