我正在研究此程序,在遊戲結束時我問用戶是否要再次玩。如果他們說是,我需要開始一場新的比賽。我做了一個重新啓動()方法:Java:重置程序中的所有值
public void restart(){
Game g = new Game();
g.playGame();
}
然而,當我在他們什麼以前的遊戲中調用此方法的某些值在我的計劃逗留。
是否有一款遊戲可以清除所有內容,並使用所有默認值創建遊戲的新實例?
我正在研究此程序,在遊戲結束時我問用戶是否要再次玩。如果他們說是,我需要開始一場新的比賽。我做了一個重新啓動()方法:Java:重置程序中的所有值
public void restart(){
Game g = new Game();
g.playGame();
}
然而,當我在他們什麼以前的遊戲中調用此方法的某些值在我的計劃逗留。
是否有一款遊戲可以清除所有內容,並使用所有默認值創建遊戲的新實例?
沒有更多的信息,我想你的問題很可能是你使用靜態變量,它的值將持續在給定類的所有實例上。如果你把它們都變成成員變量並在你的構造函數中初始化它們,它應該可以工作。
驗證這些未重置的值是否在遊戲構造函數中重置。機會是他們不是。
這些值也是靜態的嗎?靜態值不會被構造函數重置。
你有任何靜態變量嗎?如果是,那很可能是問題所在。靜態變量的值爲您的類的新實例維護。您可以嘗試刪除靜態修飾符,並確保在類構造函數中初始化所有變量。
你能發表更多的代碼嗎?遊戲課程?包含restart()方法的類? – Mark 2009-04-28 14:19:52