我必须在Greenfoot中做作业。
这部分意味着我必须保存Chess的位置,然后单击“重置”。
然后,我必须选择负载以将棋子放回重置之前的位置。
因为我不知道数组的确切大小,所以我可以使用List,但是在家庭作业中是不允许的。

屏幕上没有显示任何内容,但是没有错误消息。

假设我有一个名为Chess的类。

static Actor[] allChess;

public void save() // this is the save
{
    Actor[] allChess = GWorld.getAllObjects("Chess");
}

public void load() // this is the load
{
    if (allChess != null)
    {
        for (int i=0; i < allChess.length; i++)
        {
            Chess ch = (Chess) allChess[i];
            GWorld.addOneObject(new Chess(ch.color, ch.rank), ch.getX(), ch.getY());
        }
    }
}


非常感谢!

最佳答案

allChesssave()中重新声明为局部变量。这样做:

public void save() // this is the save
{
     allChess = GWorld.getAllObjects("Chess");
}

10-01 09:30