我正在尝试进行模拟简单生物和食肉生物的模拟。
我有一个叫做生物的类和一个叫做 carnCreature 的子类。我在生物中有一个名为eat 的方法,它接收一种类型的对象,但我需要carnCreature 类中的eat 方法来接收生物列表。我尝试将方法命名为与生物类中的命名相同,但是当我尝试调用它时,java 不接受更新的参数。
package simulationObjects;
import java.awt.Color;
import java.util.List;
import java.util.Random;
import java.lang.Math.*;
public class Creature {
public int x;
public int y;
public int maxTilesX;
public int maxTilesY;
public Color color;
public float health = 50;
public int life = 0;
public Creature (int x, int y, Color color, int maxTilesX, int maxTilesY) {
this.x = x;
this.y = y;
this.color = color;
this.maxTilesX = maxTilesX;
this.maxTilesY = maxTilesY;
}
public void update(Tile tile) {
eat(tile);
life++;
health-=1;
}
public void eat(Tile currentTile) {
if (currentTile.color == this.color) {
health += 3;
currentTile.color = Color.GRAY;
}
}
public boolean isCarnivore() {
return false;
}
}
package simulationObjects;
import java.awt.Color;
import java.util.List;
public class CarnCreature extends Creature{
private static final boolean CANABOLIC = false;
public CarnCreature(int x, int y, Color color, int maxTilesX, int maxTilesY) {
super(x, y, color, maxTilesX, maxTilesY);
// TODO Auto-generated constructor stub
}
public void update(List<Creature> creatures) {
eat(creatures);
life++;
health-=1;
}
我试图将生物和 carnCreatures 存储在同一个列表中,“生物”。这是问题吗,我是否需要将它们存储在单独的列表中?
蝴蝶不菲
海绵宝宝撒
相关分类