From: Erik V. <ev...@us...> - 2009-12-28 15:27:28
|
Update of /cvsroot/rails/18xx/rails/game/specific/_1856 In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv30375/rails/game/specific/_1856 Modified Files: CGRFormationRound.java Log Message: Fixed bug where CGR would in case of excess trains discard all 4-trains, in stead of discarding 4-trains until the limit was reached. Index: CGRFormationRound.java =================================================================== RCS file: /cvsroot/rails/18xx/rails/game/specific/_1856/CGRFormationRound.java,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** CGRFormationRound.java 28 Dec 2009 13:21:12 -0000 1.27 --- CGRFormationRound.java 28 Dec 2009 15:27:18 -0000 1.28 *************** *** 82,93 **** if (companiesToRepayLoans == null) { finishRound(); return; } - ReportBuffer.add(LocalText.getText("StartFormationRound", - cgrName, - startingPlayer.getName())); - setStep(STEP_REPAY_LOANS); --- 82,90 ---- if (companiesToRepayLoans == null) { + ReportBuffer.add(LocalText.getText("DoesNotForm", cgr.getName())); finishRound(); return; } setStep(STEP_REPAY_LOANS); *************** *** 640,654 **** int trainLimit = cgr.getTrainLimit(gameManager.getCurrentPlayerIndex()); List<TrainI> trains = cgr.getPortfolio().getTrainList(); ! if (cgr.getNumberOfTrains() > trainLimit) ReportBuffer.add(""); ! outer: while (cgr.getNumberOfTrains() > trainLimit) { for (TrainI train : trains) { if (!train.getType().isPermanent()) { ! train.moveTo(pool); ! ReportBuffer.add(LocalText.getText("CompanyDiscardsTrain", ! cgrName, train.getName())); ! continue outer; } } ! break; } --- 637,655 ---- int trainLimit = cgr.getTrainLimit(gameManager.getCurrentPlayerIndex()); List<TrainI> trains = cgr.getPortfolio().getTrainList(); ! if (cgr.getNumberOfTrains() > trainLimit) { ! ReportBuffer.add(""); ! int numberToDiscard = cgr.getNumberOfTrains() - trainLimit; ! List<TrainI> trainsToDiscard = new ArrayList<TrainI>(4); for (TrainI train : trains) { if (!train.getType().isPermanent()) { ! trainsToDiscard.add(train); ! if (--numberToDiscard == 0) break; } } ! for (TrainI train : trainsToDiscard) { ! train.moveTo(pool); ! ReportBuffer.add(LocalText.getText("CompanyDiscardsTrain", ! cgrName, train.getName())); ! } } |