我有两门课叫口袋妖怪。java和Move。java,其中包含创建和修改口袋妖怪及其移动的方法。我已经创建了所有必需的方法,但我在攻击方法上遇到了问题,攻击方法应该是在对手受到攻击时减去对手的生命值。
以下是口袋妖怪的代码。java类:
import java.util.ArrayList;
public class Pokemon
{
// Copy over your code for the Pokemon class here
// Private constants
private static final int MAX_HEALTH = 100;
private static final int MAX_MOVES = 4;
private String name;
private int health;
private int opponentHealth;
public static int numMovesForPokemon = Move.getNumOfMoves();
private Move move;
private static ArrayList<Move> moveListForPokemon = new ArrayList<Move>();
private String pokemonImage;
// Write your Pokemon class here
public Pokemon(String theName, int theHealth)
{
name = theName;
if(theHealth <= MAX_HEALTH)
{
health = theHealth;
}
}
public Pokemon(String name, String image)
{
this.name = name;
health = 100;
pokemonImage = image;
}
public Pokemon(String theName)
{
name = theName;
}
public void setImage(String image)
{
pokemonImage = image;
}
public String getImage()
{
return pokemonImage;
}
public String getName()
{
return name;
}
public int getHealth()
{
return health;
}
public boolean hasFainted()
{
if(health <= 0)
{
return true;
}
else
{
return false;
}
}
public boolean canLearnMoreMoves()
{
if(numMovesForPokemon < 4)
{
return true;
}
else
{
return false;
}
}
public boolean learnMove(Move other)
{
if(canLearnMoreMoves())
{
moveListForPokemon = Move.getList();
moveListForPokemon.add(other);
numMovesForPokemon++;
return true;
}
else
{
return false;
}
}
public void forgetMove(Move other)
{
moveListForPokemon.remove(other);
}
public static ArrayList<Move> displayList()
{
return moveListForPokemon;
}
public boolean knowsMove(Move move)
{
if(moveListForPokemon.contains(move))
{
return true;
}
else
{
return false;
}
}
public boolean knowsMove(String moveName)
{
if(moveListForPokemon.contains(move.getName()))
{
return true;
}
else
{
return false;
}
}
public boolean attack(Pokemon opponent, Move move)
{
if(knowsMove(move))
{
opponentHealth = opponent.getHealth();
opponentHealth -= move.getDamage();
return true;
}
else
{
return false;
}
}
public boolean attack(Pokemon opponent, String moveName)
{
if(knowsMove(moveName))
{
opponentHealth = opponent.getHealth();
opponentHealth -= move.getDamage();
return true;
}
else
{
return false;
}
}
public String toString()
{
return pokemonImage + "\n" + name + " (Health: " + health + " / " + MAX_HEALTH + ")";
}
// Add the methods specified in the exercise description
}
这是搬家的代码。java类:
import java.util.ArrayList;
public class Move
{
// Copy over your code for the Move class here
private static final int MAX_DAMAGE = 25;
private String name;
private int damage;
public static int numMoves;
private static ArrayList<Move> moveList = new ArrayList<Move>();
public Move(String theName, int theDamage)
{
name = theName;
if(theDamage <= MAX_DAMAGE)
{
damage = theDamage;
}
}
public String getName()
{
return name;
}
public int getDamage()
{
return damage;
}
public static int getNumOfMoves()
{
return numMoves;
}
public static ArrayList<Move> getList()
{
return moveList;
}
public String toString()
{
return name + " (" + damage + " damage)";
}
// Add an equals method so we can compare Moves against each other
public boolean equals(Move other)
{
if(name.equals(other.getName()))
{
return true;
}
else
{
return false;
}
}
}
最后,这里是口袋妖怪的代码。java,我在这里测试这些方法:
public class PokemonTester extends ConsoleProgram
{
private PokemonImages images = new PokemonImages();
public void run()
{
// Test out your Pokemon class here!
Pokemon p1 = new Pokemon("Charrizard", 100);
Pokemon p2 = new Pokemon("Pikachu", 100);
Move m1 = new Move("Flamethrower", 20);
Move m2 = new Move("Fire Breath", 15);
p1.learnMove(m1);
System.out.println(p1.knowsMove(m1));
System.out.println(p1.knowsMove("Flamethrower"));
System.out.println(p1.attack(p2, m1));
System.out.println(p2.getHealth());
}
}
首先分配opont的值。getHealth()
到int变量oponentHealth
,然后对其进行修改,但是此修改不会影响对手的健康,而是只影响oponentHealth
变量,你要么直接访问并修改对手的生命值字段,要么在口袋妖怪类中实现某种setHealth(int health)
方法
我想你的问题是:
opponentHealth = opponent.getHealth();
opponentHealth -= move.getDamage();
此代码有几个问题:
opponentHealth
,而不是类级别字段我创建了一个口袋妖怪应用程序,但当我试图运行它时,它总是崩溃。应用程序只需要移动地图上的口袋妖怪。使用的IDE是Kotlin。请帮助我找到为什么我的应用程序崩溃的错误。代码是:class MapsActivity:AppCompatActivity(),OnMapReadyCallback{ } 我的名字是Aakarsh Kamboj,我最近开始了android的开发
我试图通过GKE部署应用程序。到目前为止,我为应用程序的前端和后端创建了两个服务和两个部署。我使用“gce”控制器创建了一个ingress ressource,并映射了服务,如图所示 它几乎工作得很好(不是所有映射正确的根,但它工作得很好)。我在代码上添加了修改(只有应用程序的代码),我重建了图像并重新创建了服务,但入口似乎对我添加的修改和 我所有的服务都处于不健康状态 这是前台服务 当我描述时,
设置-1:(不工作) 我有一个任务正在ECS集群中运行。但由于在它开始后立即进行了健康检查,它正在下降。 我的服务是基于spring boot的,它有流量(用于服务调用)和管理端口(用于健康检查)。我有“*/health”路径的“权限。 PFA:我也通过在TG运行状况检查选项卡中选择覆盖端口选项进行了相同的配置。 因此,我尝试在容器部分的任务定义上配置管理端口。我尝试为TD的最新版本更新相应的服务
问题内容: 我遵循了负载均衡器教程:https : //cloud.google.com/container- engine/docs/tutorials/http-balancer 在使用Nginx映像时,当尝试使用自己的应用程序映像时,它工作正常后端切换为不正常。 我的应用程序重定向到/(返回302),但在pod定义中添加了一个: 我的入口看起来像: 服务配置为: 后端健康状况如下: 入口的规
我遵循了负载均衡器教程:https://cloud.google.com/container-engine/docs/tutorials/http-balancer当我使用Nginx映像时工作正常,当我尝试使用我自己的应用程序映像时,尽管后端切换到不健康。 我的应用程序重定向到/(返回302),但我在pod定义中添加了一个livenessProbe: 我的入口看起来像: 服务配置为: 入口中的后端
我们正在使用confluent kafka control center,但out system health页面不起作用,总是显示重试。 我通过了文档,验证了设置是相同的,但仍然面临这个问题。 它抛出的错误是无法检查ulimited:无法运行程序ulimited错误=2没有这样的文件或目录(io.confluent.controlcenter.healthcheck.HealthCheck) 除