我怎么能调用一个标记类?我需要实现 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();
}
}
}
但问题是蜘蛛没有吃掉婴儿虫,如果我放:
Babybug a =new Babybug();
// instead
for (Actor a : actors)
我收到一些错误,例如:此演员未包含在网格中。我该如何解决?谢谢!