“奥特曼攻打小怪兽”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的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的 ...
随机推荐
- html5+css3实现跑动的爱心/动态水滴效果[原创][5+3时代]
大风起兮云飞扬,安得猛士兮走四方!html5+css3,不学不行. 做web开发已经有好几年了,见证了太多语言的崛起和陨落. 其实作为一个程序员最苦逼的事情莫过于每天要不停的追赶各大公司新出的框架和语 ...
- 【hbase】——Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
1.搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar.hbase-0.90.4-tes ...
- spring定时器(二)
此定时器可重置定时时间. 1. spring的定时器配置文件application.xml: <?xml version="1.0" encoding="UTF-8 ...
- ubuntu下apache2 安装 配置 卸载 CGI设置 SSL设置
一.安装.卸载apache2 apache2可直接用命令安装 sudo apt-get install apache2 卸载比较麻烦,必须卸干净,否则会影响ap ...
- ELF Format 笔记(六)—— 字符串表
ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 字符串表中包含若干以 null 结尾的字符串,这些字符串通常是 symbol 或 section 的名字.当 ...
- plsql+绿色版oracle连接远程数据库配置及提示缺少msvcr71.dll解决方法
之前一直用的sqldeveloper连接oracle数据库,这个免费而且也是官方出品,除了体积略大启动略慢外,也没什么不好的.. 一次偶然机会决定试一下plsql,整理一下安装资料,需要本地oracl ...
- MMORPG大型游戏设计与开发(客户端架构 part11 of vegine)
从早年的无声电影到现在的逼真3D大片,人类在科技上可谓是一再突破.不知道有没有人经历过那无声的日子,没有声音的世界,咱们的耳朵也就失去了它本有的用途了.在游戏世界中,声音元素成了必不可少的一部分,一个 ...
- java 28 - 1 设计模式 之 面向对象思想设计原则和模版设计模式概述
在之前的java 23 中,了解过设计模式的单例模式和工厂模式.在这里,介绍下设计模式 面向对象思想设计原则 在实际的开发中,我们要想更深入的了解面向对象思想,就必须熟悉前人总结过的面向对象的思想的设 ...
- 转: 使用Eclipse的Working Set,界面清爽多了
from: http://iyuanbo.iteye.com/blog/1158136 使用Eclipse的Working Set,界面清爽多了 想必大家的Eclipse里也会有这么多得工程... ...
- uva10001 Garden of Eden
Cellular automata are mathematical idealizations of physical systems in which both space and time ar ...