マークされたクラスを呼び出すにはどうすればよいですか? クラス Spider を実装して、Babybug が見つかった場合に食べられるようにする必要があります。
// マークされたインターフェース
public interface Eatable {
}
// クラス BabyBug
public class BabyBug extends Bug implements Eatable{
public Babybug(){
this.setColor(Color.ORANGE);
Age=0;
}
@Override
public void act()
{
super.act();
Location Loc =getLocation();
Grid<Actor> grid =getGrid();
if (this.getAge()>=4){
removeSelfFromGrid();
AdultBug Adult = new AdultBug();
Adult.putSelfInGrid(grid, Loc);
}
return;
}
}
}
// クラス Spider は Insect のサブクラスで、Insect は Critter のサブクラスです
public class Spider extends Insect
public void act(){
super.act();
}
public void processActors(ArrayList<Actor> actors)
{
for (Actor a : actors)
{
if (a instanceof Eatable)
a.removeSelfFromGrid();
}
}
}
しかし問題は、Spider が Babybugs に食べられないことです。
Babybug a =new Babybug();
// instead
for (Actor a : actors)
次のようなエラーが表示されます: このアクターはグリッドに含まれていません。どうすれば修正できますか?ありがとう!