我写了一个类来创建和战斗口袋妖怪,但我无法弄清楚如何在测试器类中调用battle方法来测试我写的类.

我的任务是编写和测试模拟两个神奇宝贝之间的战斗的模拟.每个神奇宝贝都有一个健康值,一个力量值和一个速度值.运行状况,强度和速度值作为参数传递给构造函数.这些值最初必须介于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

}

}

我确实意识到我还没有在轮流中实现速度方面,因为我正试图让它工作.

添加静态到战斗功能,就像在main中一样.

此外,你不能在主要使用charizard和blastoise.非静态变量不能用于静态函数.您需要在`main中创建局部变量

public static void main(String[] args){

Pokemon charizard = new Pokemon(100,50,50);

Pokemon blastoise = new Pokemon(150,25,150);

Pokemon.battle(charizard, blastoise);

}

您还可以创建新的PokemonTester并使用它的变量:

public static void main(String[] args){

PokemonTester tester=new PokemonTester();

Pokemon.battle(tester.charizard, tester.blastoise);

}

您可以了解有关静态成员here的更多信息

java宠物小精灵,简单的Java口袋妖怪扑灭模拟器相关推荐

  1. 口袋妖怪 java_简单的Java口袋妖怪扑灭模拟器

    我已经写了一个类创建和战斗口袋妖怪,但我不知道如何调用测试类中的战斗方法,以测试我写的类.简单的Java口袋妖怪扑灭模拟器 我的任务是编写和测试模拟两个口袋妖怪之间的战斗模拟.每个口袋妖怪都有一个健康 ...

  2. java enumerator_简单介绍java Enumeration

    Enumeration接口 Enumeration接口本身不是一个数据结构.但是,对其他数据结构非常重要. Enumeration接口定义了从一个数据结构得到连续数据的手段.例如,Enumeratio ...

  3. java awt 简单计算器,JAVA Swing 开发简易计算器(上)

    开发一个简易的计算器我们主要分为两大部分:图形界面设计与具体功能实现.这篇文章讲图形界面设计,下篇讲具体功能实现. 代码下载:https://github.com/taifus/Java_Calcul ...

  4. java计算器简单吗,java简单计算器

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 无聊做个java加减乘除计算器,int型,没有小数,,呵呵,,真特么无聊,, package swing; import javax.swing.*; i ...

  5. -1-6 java 异常简单介绍 java异常 异常体系 Throwable 分类 throws和throw 异常处理 自定义异常...

    异常 异常:异常就是Java程序在运行过程中出现的错误. 异常由来:问题也是现实生活中一个具体事务,也可以通过java 的类的形式进行描述,并封装成对象. 其实就是Java对不正常情况进行描述后的对象 ...

  6. JAVA的简单数据类型和复合数据类型

    Java的简单数据类型 数据类型 数据类型就是对内存位置的抽象表达.程序员可以利用多种数据类型:某些由编程语言定义,某些由外部库定义,还有些则由程序员来定义.很多编程语言都依赖于特定的计算机类型和对数 ...

  7. java虚拟机-简单概述(五月的仓颉)

    1  java的简单概述 java版本介绍 1.Java SE(标准版),主要活跃在桌面领域,主要包含了Java API组件. 2.Java EE(企业版),活跃在企业级领域,除了包含Java API ...

  8. 编写运行最简单的java程序——使用记事本编写java程序

    编写运行最简单的java程序--使用记事本编写java程序 第一个java程序--使用记事本编辑 经过上篇文章的java环境搭建成功的小伙伴们可以在自己的计算机上编写属于自己的java程序了yo~ 还 ...

  9. 用java做一个简单记事本_用记事本写一个简单的java程序

    用记事本写一个简单的java程序 第一步: 安装好jdk,并设置好环境变量. 桌面-计算机(右键)-属性-高级系统设置-环境变量-path-在变量值后加上:和jdk安装路径加上(路径即为C:\Prog ...

最新文章

  1. C#ReadLine()和ReadKey()区别
  2. 网络和计算机管理制度,网络和计算机使用管理制度
  3. sdut 1466 双向队列
  4. std::shared_ptr
  5. 2条电信宽带 并线_理想更新“货车并线预警”遭用户吐槽 李想:目前功能偏保守 仍在优化...
  6. 汇编[bx+idata](8086)
  7. 外观模式和代理模式的联系和区别_设计模式之代理设计模式
  8. java有没有自定义好的按钮_java – 带有nimbus的自定义JButton
  9. 计算机教室配套,中小学标准音乐教室建设及设备配套方案
  10. 润乾报表统计图联动刷新
  11. 偏微分方程数值解---学习总结(2)
  12. 2020年最值得收藏的60个AI开源工具
  13. 集线器,交换机,路由器工作层次的区别
  14. 服务器日志显示system特殊登陆,事件查看器 安全 特殊登陆 什么意思??
  15. 如何简单又快速的清理C盘内存
  16. 关联分析之Apriori学习笔记
  17. python时间相减_python处理时间加减
  18. 红米note4出厂系统版本_红米Note4发布!出厂就有MIUI8黑科技
  19. 代理连接FTP实现上传和下载功能
  20. 题解 【网络流24题】太空飞行计划

热门文章

  1. Deep Learning---caffe模型参数量(weights)计算
  2. C++之队列的实现及各种
  3. Android接入支付宝支付实现
  4. asp.net DataGrid GridView 表格之选中行与获取选中行数据
  5. jquery之仿京东菜单
  6. 树莓派debian配置lamp【解决apache不显示php】
  7. 2.9-mysql主从配置-3
  8. 转载 linux内核 asmlinkage宏
  9. MESSL(maven + extjs + spring portlet mvc + spring web flow + liferay )整合架构 1
  10. 我国今日接连发生4起地震 震级均在3级以上