Java Gridworld Как я могу назвать помеченный класс? (интерфейс маркера)
Как я могу назвать помеченный класс? Мне нужно реализовать класс 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;
}
}
}
// Class 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();
}
}
}
Но проблема в том, что паук не съел клопов и если я положил:
Babybug a =new Babybug();
// instead
for (Actor a : actors)
Я получаю некоторые ошибки, такие как: Этот актер не содержится в сетке. Как я мог это исправить? Спасибо!