From: Stefan F. <ste...@us...> - 2010-03-12 17:18:55
|
Update of /cvsroot/rails/18xx/rails/game In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv14259/rails/game Modified Files: GameManager.java Added Files: EndOfGameRound.java Log Message: GameOver and endedByBankruptcy are state variables, added EndofGameRound to allow undo. --- NEW FILE: EndOfGameRound.java --- package rails.game; import rails.common.GuiDef; import rails.common.GuiHints; import rails.util.LocalText; /** * EndOfGameRound is a dummy implementation of the Round class * It generates no additional actions. * It also sets guiHints (default: shows map, stock market and activates status) * * */ public class EndOfGameRound extends Round { public EndOfGameRound(GameManagerI gameManager) { super(gameManager); guiHints.setVisibilityHint(GuiDef.Panel.MAP, true); guiHints.setActivePanel(GuiDef.Panel.STATUS); } @Override public boolean setPossibleActions() { possibleActions.clear(); return true; } public GuiHints getGuiHints() { return guiHints; } public void setGuiHints(GuiHints guiHints) { this.guiHints = guiHints; } @Override public String getHelp() { return LocalText.getText("EndOfGameHelpText"); } @Override public String toString() { return "EndOfGameRound "; } @Override public String getRoundName() { return toString(); } } Index: GameManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/GameManager.java,v retrieving revision 1.88 retrieving revision 1.89 diff -C2 -d -r1.88 -r1.89 *** GameManager.java 10 Mar 2010 21:02:13 -0000 1.88 --- GameManager.java 12 Mar 2010 17:18:47 -0000 1.89 *************** *** 17,20 **** --- 17,21 ---- import rails.game.special.SpecialPropertyI; import rails.game.special.SpecialTokenLay; + import rails.game.state.BooleanState; import rails.game.state.IntegerState; import rails.game.state.State; *************** *** 102,107 **** protected int numOfORs; ! protected boolean gameOver = false; ! protected boolean endedByBankruptcy = false; /** UI display hints */ --- 103,108 ---- protected int numOfORs; ! protected BooleanState gameOver = new BooleanState("GameOver" ,false); ! protected BooleanState endedByBankruptcy = new BooleanState("EndedByBankruptcy", false); /** UI display hints */ *************** *** 985,989 **** */ public void registerBankruptcy() { ! endedByBankruptcy = true; String message = LocalText.getText("PlayerIsBankrupt", --- 986,990 ---- */ public void registerBankruptcy() { ! endedByBankruptcy.set(true); String message = LocalText.getText("PlayerIsBankrupt", *************** *** 997,1003 **** private void finishGame() { ! gameOver = true; ReportBuffer.add(LocalText.getText("GameOver")); ! currentRound.set(null); logGameReport(); --- 998,1004 ---- private void finishGame() { ! gameOver.set(true); ReportBuffer.add(LocalText.getText("GameOver")); ! createRound(EndOfGameRound.class); logGameReport(); *************** *** 1008,1012 **** */ public boolean isGameOver() { ! return gameOver; } --- 1009,1013 ---- */ public boolean isGameOver() { ! return gameOver.booleanValue(); } |