口袋妖怪 java_简单的Java口袋妖怪扑灭模拟器
我已经写了一个类创建和战斗口袋妖怪,但我不知道如何调用测试类中的战斗方法,以测试我写的类。简单的Java口袋妖怪扑灭模拟器
我的任务是编写和测试模拟两个口袋妖怪之间的战斗模拟。每个口袋妖怪都有一个健康值,一个强度值和一个速度值。健康值,强度值和速度值作为参数传递给构造函数。这些值最初必须介于1和300之间,最初应该为非零值。完成游戏的总体思路是,两个口袋妖怪将在模拟中与另一个“战斗”,口袋妖怪轮流攻击。 (具有最高速度值的那一个每轮首先进行)攻击口袋妖怪的力量将从“攻击者”身体中减去。
public class Pokemon{
private int health;
private int strength;
private int speed;
/**
* Constructs the pokemon
* @Require:
* health is an integer greater than or equal to 1 but less than or equal to 300
* strength is and integer greater than or equal to 1 but less than or equal to 300
* speed is an integer greater than or equal to 1 but less than or equal to 300
*/
public Pokemon(int health, int strength, int speed){
assert health >= 1;
assert health <= 300;
assert strength >= 1;
assert strength <= 300;
assert speed >= 1;
assert speed <= 300;
this.health = health;
this.strength = strength;
this.speed = speed;
}
public void battle(Pokemon pokemon1, Pokemon pokemon2){
do{
System.out.println(pokemon1+" begins the fight against "+pokemon2);
pokemon2.health = pokemon2.health - pokemon1.strength;
System.out.println(pokemon1 +" does "+ pokemon1.strength +" damage to "+
pokemon2 +" and "+ pokemon2 +" has "+ pokemon2.health +" left.");
pokemon1.health = pokemon1.health - pokemon2.strength;
System.out.println(pokemon2 +" does "+ pokemon2.strength +" damage to "+
pokemon1 +" and "+ pokemon1 +" has "+ pokemon1.health +" left.");
}while(pokemon1.health >= 1 || pokemon2.health >= 1);
if(pokemon1.health < 1)
System.out.println(pokemon1 +" has lost the fight");
else
System.out.println(pokemon2 +" has lost the fight");
}
}
口袋妖怪仪
public class PokemonTester{
private Pokemon charizard;
private Pokemon blastoise;
private Pokemon venusaur;
public PokemonTester(){
charizard = new Pokemon(100,50,50);
blastoise = new Pokemon(150,25,150);
venusaur = new Pokemon(300,10,100);
}
public static void main(String[] args){
Pokemon.battle(charizard, blastoise); //will not compile
}
}
我意识到我还没有实现在服用速度方面还转,因为我想只是使它工作。
2011-10-29
Brian
+1
请注意,你的while可能不是你想要的:只要一个口袋妖怪的健康<= 0,while循环应该停止。因此,你需要一个'while pok1.health> = 1 && pok2.health> = 1'注意'&&'而不是'||' –
+2
从现在开始,我将使用口袋妖怪名称作为变元变量。 –
+0
@Inerdia我同意这比真正的动物编程101锻炼更有趣 - 嘿,谁想看到狗与猫战斗? ;) –
口袋妖怪 java_简单的Java口袋妖怪扑灭模拟器相关推荐
- java宠物小精灵,简单的Java口袋妖怪扑灭模拟器
我写了一个类来创建和战斗口袋妖怪,但我无法弄清楚如何在测试器类中调用battle方法来测试我写的类. 我的任务是编写和测试模拟两个神奇宝贝之间的战斗的模拟.每个神奇宝贝都有一个健康值,一个力量值和一个 ...
- 逗号运算符java_简单的java计算器 实现了重复标点及运算符连点限制
今天练习了一个简约的java计算器的实现,特此阿萌分享代码给大家,本计算器代码也许有冗余,但是达到的限制效果还是比较完好的. 程序的实现还是比较简单的,而且代码也比较乱,想到那写到哪,但是对于作为练习 ...
- java宠物小精灵_简单的Java宠物小精灵战斗模拟器
我已经写了一个类来创建和战斗口袋妖怪,但我无法弄清楚如何在测试者类中调用战斗方法来测试我写的类. 我的任务是编写和测试模拟两个口袋妖怪之间的战斗模拟.每个口袋妖怪都有一个健康值,一个强度值和一个速度值 ...
- surfacecontrol.java_简单说说JAVA层中Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的关系...
1.Surface Surface extends Object implements Parcelable java.lang.Object android.view.Surface Class O ...
- 线程池简单实现java_简单实现java线程池
package com.ty.thread; importjava.util.HashSet;importjava.util.Set;importjava.util.concurrent.Blocki ...
- 字符串 压缩 java_简单的java字符串压缩(原创)
复制内容到剪贴板 代码:package org.test;/** * 面试题目:现有一个字符串,其内容仅仅包含a---z,现在要进行网络传输,故需要减少网络传输的 * 大小,如何将字符串空间缩小.以下 ...
- gradle插件 java_简单的Gradle Java插件自定义
gradle插件 java 正如我在" 用Gradle构建Java的初步了解"一文中所展示的那样,当Gradle使用Java插件并将文件和目录放置在该插件期望的位置时, Gradl ...
- kafka zookeeper java_简单搭建kafka + zookeeper,附简单Java生产和消费客户端
首先说明一下这是一篇入门实战操作文章,本人亦是刚刚开始接触kafka,看了网上很多很多的文章,觉得自己也应当在搭建平台的过程中留下一些痕迹,总结一下遇到的问题和解决方法. 这篇文章主要是讲从零开始把服 ...
- java手机游戏模拟器下载_Java手机游戏模拟器
Java手机游戏模拟器主要针对诺基亚S60系列(屏幕176*220)手机以及其他大屏手机(小屏游戏也可运行,但不能全屏显示),是一款非常简单而且实用的JAVA游戏模拟器,可以正常运行绝大部分JAVA手 ...
最新文章
- selenium自动化之鼠标操作
- ARM汇编Hello,World
- 当使用easyui时,jquery的设置disabled属性方法失效
- 取ifrme里的div的代码
- ObjectMapper忽略未知字段
- 网页上无缝滚动的实现
- 11月3日云栖精选夜读:《maven实战》读书笔记2——maven安装(windows和eclipse插件)...
- ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(三)密码修改以及密码重置...
- 兜兜转转,回到原点,Hello Mr.my yesterday
- Objective-c nil, Nil, NULL和NSNull的区别
- iGoogle自定义
- hbuilderx为什么打不开_windows系统,HBuilderX无法启动、点击无反应、或启动报错的解决方案...
- clip_gradient_norms()
- conda关于频道和存储包pkgs的详解(副pytorch环境安装)
- 东北大学计算机学院领导,计算机学院召开新一届全体干部大会
- 农村产权交易服务平台二次开发html源码
- 旁流综合水处理器的安装与连接技巧
- el-table的自定义行高设置
- errorMessage‘: ‘很遗憾没有抢到,再接再厉哦。‘, ‘orderId‘: 0, ‘resultCode‘:
- C语言结构体复习(一)
热门文章
- 只有300万预算,能在深圳买到什么样的二手房?分析20778套二手房
- se(3)-TrackNet: Data-driven 6D Pose Tracking by Calibrating Image Residuals in Synthetic Domains
- docker(5):容器
- [分享]老歌150首
- 远程搜索多选组件实现
- 回溯法求最佳工作分配方案
- Leetcode 577
- CEF3 91.0.4472的源代码编译以及支持MP3MP4的播放
- Real-Time Rendering Fourth Edition 学习笔记之 -- 第一章:介绍
- vertical-align 各个属性值的含义