2014-11-04 52 views
0

我必須在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()); 
     } 
    } 
} 

非常感謝!

+0

國際象棋是演員的一個子類 這整個模塊在世界上被宣佈。 – Smile 2014-11-04 12:13:03

回答

4

allChess被重新聲明爲save()中的局部變量。像這樣:

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

非常感謝!有效!我一直在掙扎一個小時。 – Smile 2014-11-04 13:23:47