私はプロジェクトに取り組んでおり、ここで助けが必要です。をAnimalWorld
拡張World
するElephant
クラスと、拡張するクラスがありますTurtle
。私の象のact()
メソッドでは、メソッド ( ) を使用したいのですがpublic List getTurtleList()
、これはWorld
(and AnimalWorld
) にしかありません。行を追加してみました
public abstract List<Turtle> getTurtleList();
AnimalWorld に移動し、Elephant を抽象クラスに設定しましたが、「シンボルが見つかりません -getTurtleList()
何か考えはありますか? 」というエラーが表示されます。さらに情報が必要な場合は、お知らせください。また、作成された象は AnimalWorld に配置されるため、Elephant は AnimalWorld を拡張しません。
public abstract class Elephant extends Turtle implements Animal{
public Elephant(ModelDisplay world){
super(world);
this.penUp();
this.setColor(Color.gray);
this.setWidth(50);
this.setHeight(50);
}
public void act(ModelDisplay myWorld){
double smallestDist = 640.0;
Mouse closestMouse = null;
List<Turtle> animalList = myWorld.getTurtleList();
for(Turtle curCritter: animalList){
if(curCritter instanceof Mouse){
int x=curCritter.getXPos();
int y=curCritter.getYPos();
double dist = this.getDistance(x,y);
if(dist < 100 && dist<smallestDist){
closestMouse=curCritter;
smallestDist=dist;
}
}
}
if(closestMouse!=null){
this.turn(closestMouse);
this.forward(3*(int)smallestDist);
}
}
}