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();

        }
    }

}

但问题是蜘蛛没有吃掉婴儿虫,如果我放:

Babybug a =new Babybug();
// instead
for (Actor a : actors)

我收到一些错误,例如:此演员未包含在网格中。我该如何解决?谢谢!

4

0 回答 0