From: Erik V. <ev...@us...> - 2009-09-06 12:27:45
|
Update of /cvsroot/rails/18xx/rails/game In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv12356/rails/game Modified Files: Game.java PublicCompanyI.java PublicCompany.java StockRound.java StockMarket.java ShareSellingRound.java OperatingRound.java GameManagerI.java GameManager.java Log Message: CGR price down on selling every *two* 5% shares Index: OperatingRound.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/OperatingRound.java,v retrieving revision 1.65 retrieving revision 1.66 diff -C2 -d -r1.65 -r1.66 *** OperatingRound.java 3 Sep 2009 18:33:28 -0000 1.65 --- OperatingRound.java 6 Sep 2009 12:27:36 -0000 1.66 *************** *** 1153,1157 **** protected void finishTurn() { ! operatingCompany.setOperated(true); companiesOperatedThisRound.add(operatingCompany); --- 1153,1157 ---- protected void finishTurn() { ! operatingCompany.setOperated(); companiesOperatedThisRound.add(operatingCompany); Index: PublicCompany.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/PublicCompany.java,v retrieving revision 1.56 retrieving revision 1.57 diff -C2 -d -r1.56 -r1.57 *** PublicCompany.java 4 Sep 2009 18:38:11 -0000 1.56 --- PublicCompany.java 6 Sep 2009 12:27:32 -0000 1.57 *************** *** 888,893 **** } ! public void setOperated(boolean value) { ! hasOperated.set(value); } --- 888,893 ---- } ! public void setOperated() { ! hasOperated.set(true); } *************** *** 990,993 **** --- 990,1003 ---- } + public void adjustSharePrice (int actionPerformed, int numberOfSharesSold, + StockMarketI stockMarket) { + if (actionPerformed == StockRound.SOLD) { + if (canSharePriceVary()) { + stockMarket.sell(this, numberOfSharesSold); + } + } + } + + /** * Add a given amount to the company treasury. Index: GameManager.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/GameManager.java,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -d -r1.48 -r1.49 *** GameManager.java 4 Sep 2009 18:56:16 -0000 1.48 --- GameManager.java 6 Sep 2009 12:27:36 -0000 1.49 *************** *** 47,50 **** --- 47,51 ---- protected PhaseManager phaseManager; protected TrainManagerI trainManager; + protected StockMarketI stockMarket; protected List<Player> players; *************** *** 319,327 **** CompanyManagerI companyManager, PhaseManager phaseManager, ! TrainManagerI trainManager) { this.playerManager = playerManager; this.companyManager = companyManager; this.phaseManager = phaseManager; this.trainManager = trainManager; players = playerManager.getPlayers(); --- 320,330 ---- CompanyManagerI companyManager, PhaseManager phaseManager, ! TrainManagerI trainManager, ! StockMarketI stockMarket) { this.playerManager = playerManager; this.companyManager = companyManager; this.phaseManager = phaseManager; this.trainManager = trainManager; + this.stockMarket = stockMarket; players = playerManager.getPlayers(); *************** *** 931,934 **** --- 934,941 ---- } + public StockMarketI getStockMarket() { + return stockMarket; + } + // TODO Should be removed public static void initialiseNewPhase(PhaseI phase) { Index: Game.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/Game.java,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** Game.java 3 Sep 2009 21:36:53 -0000 1.24 --- Game.java 6 Sep 2009 12:27:31 -0000 1.25 *************** *** 68,72 **** public void start() { gameManager.startGame(playerManager, companyManager, ! phaseManager, trainManager); } --- 68,72 ---- public void start() { gameManager.startGame(playerManager, companyManager, ! phaseManager, trainManager, stockMarket); } Index: PublicCompanyI.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/PublicCompanyI.java,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** PublicCompanyI.java 4 Sep 2009 18:38:11 -0000 1.33 --- PublicCompanyI.java 6 Sep 2009 12:27:32 -0000 1.34 *************** *** 102,106 **** public boolean hasOperated(); ! public void setOperated(boolean value); /** --- 102,106 ---- public boolean hasOperated(); ! public void setOperated(); /** *************** *** 249,252 **** --- 249,255 ---- public boolean canSharePriceVary(); + public void adjustSharePrice (int actionPerformed, int numberOfSharesSold, + StockMarketI stockMarket); + public boolean isSplitAllowed(); Index: ShareSellingRound.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/ShareSellingRound.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** ShareSellingRound.java 15 Jan 2009 20:53:28 -0000 1.20 --- ShareSellingRound.java 6 Sep 2009 12:27:33 -0000 1.21 *************** *** 356,360 **** } } ! stockMarket.sell(company, numberSold); // Check if we still have the presidency --- 356,360 ---- } } ! company.adjustSharePrice (SOLD, numberToSell, gameManager.getStockMarket()); // Check if we still have the presidency Index: StockMarket.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/StockMarket.java,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** StockMarket.java 4 Sep 2009 18:38:11 -0000 1.16 --- StockMarket.java 6 Sep 2009 12:27:33 -0000 1.17 *************** *** 268,272 **** else if (row > 0 && (newsquare = getStockSpace(row - 1, col)) != null) {} - if (newsquare == oldsquare) return; prepareMove(company, oldsquare, newsquare); } --- 268,271 ---- *************** *** 280,284 **** else if (row < numRows - 1 && (newsquare = getStockSpace(row + 1, col)) != null) {} - if (newsquare == oldsquare) return; if (newsquare.closesCompany()) { if (!company.canClose()) return; // E.g. 1856 CGR --- 279,282 ---- Index: StockRound.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/StockRound.java,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** StockRound.java 4 Sep 2009 18:56:15 -0000 1.41 --- StockRound.java 6 Sep 2009 12:27:32 -0000 1.42 *************** *** 44,47 **** --- 44,51 ---- static protected final int SELL_BUY = 1; static protected final int SELL_BUY_OR_BUY_SELL = 2; + + /* Action comnstants */ + static public final int BOUGHT = 0; + static public final int SOLD = 1; /* Permanent memory */ *************** *** 997,1001 **** } } ! if (company.canSharePriceVary()) stockMarket.sell(company, numberToSell); // Check if we still have the presidency --- 1001,1005 ---- } } ! company.adjustSharePrice (SOLD, numberToSell, gameManager.getStockMarket()); // Check if we still have the presidency Index: GameManagerI.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/GameManagerI.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** GameManagerI.java 4 Sep 2009 18:56:16 -0000 1.6 --- GameManagerI.java 6 Sep 2009 12:27:36 -0000 1.7 *************** *** 18,22 **** public abstract void startGame(PlayerManager playerManager, CompanyManagerI companyManager, PhaseManager phaseManager, ! TrainManagerI trainManager); public abstract CompanyManagerI getCompanyManager(); --- 18,22 ---- public abstract void startGame(PlayerManager playerManager, CompanyManagerI companyManager, PhaseManager phaseManager, ! TrainManagerI trainManager, StockMarketI stockMarket); public abstract CompanyManagerI getCompanyManager(); *************** *** 146,150 **** public abstract TrainManagerI getTrainManager (); public PlayerManager getPlayerManager(); ! public int getPlayerCertificateLimit(); public void setPlayerCertificateLimit(int newLimit); --- 146,151 ---- public abstract TrainManagerI getTrainManager (); public PlayerManager getPlayerManager(); ! public StockMarketI getStockMarket(); ! public int getPlayerCertificateLimit(); public void setPlayerCertificateLimit(int newLimit); |