Java Gridworld如何调用标记类? (标记界面)

时间:2017-01-08 11:46:44

标签: 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();

        }
    }

}

但问题是Spider没有吃掉Babybugs,如果我放了:

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

我得到一些错误:这个actor不包含在网格中。 我该怎么办呢? 谢谢!

0 个答案:

没有答案