getOc​​cupiedLocations网格世界

时间:2014-04-02 00:58:49

标签: gridworld

所以基本上我要做的就是随机添加crabcritters到gridworld,我做了。然后,我需要使用getOc​​cupiedLocations方法将已占用位置的数组打印为有序对。有什么建议?这就是我到目前为止所拥有的:

package projects.critters;
import info.gridworld.actor.ActorWorld; 
import info.gridworld.grid.Location;
public class Lab
{    
    public static void main (String[] args)
    {
        ActorWorld world = new ActorWorld();
        for (int i =0; i<10; i++)
        {
            world.add (new CrabCritter());
        }
        world.show();
    }
}

2 个答案:

答案 0 :(得分:0)

好的,方法getOc​​cupiedLocations()返回一个Locations数组。我不确切地知道你对有序对的意思,但如果你的意思是(x,y),那么这很容易做到。默认情况下,当您打印出一个位置时,它是一个有序对。因此,您所要做的就是遍历占用的位置并打印出每个位置。例如:

for(Location l : world.getGrid().getOccupiedLocations()){
    System.out.println(l);
}

这就是评论:你不需要语言标签,因为这是一个显然适用于Java的GridWorld问题。

答案 1 :(得分:0)

扩展约翰史密斯的答案。如果您只想打印CrabCritter占用的位置,您可以这样做:

for(Location l : world.getGrid().getOccupiedLocations()){
    if(world.get(l) instanceof CrabCritter)
        System.out.println(l);
}