0

マークされたクラスを呼び出すにはどうすればよいですか? クラス 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)

次のようなエラーが表示されます: このアクターはグリッドに含まれていません。どうすれば修正できますか?ありがとう!

4

0 に答える 0