From: <ev...@us...> - 2011-02-05 15:10:29
|
Revision: 1480 http://rails.svn.sourceforge.net/rails/?rev=1480&view=rev Author: evos Date: 2011-02-05 15:10:22 +0000 (Sat, 05 Feb 2011) Log Message: ----------- Fixed bug that mangled operating sequence after PR formation in 1835. Was caused by introduction of dynamic operating sequence, which did not cover (minor) company closures. Modified Paths: -------------- trunk/18xx/rails/game/Round.java trunk/18xx/rails/game/specific/_1835/OperatingRound_1835.java Modified: trunk/18xx/rails/game/Round.java =================================================================== --- trunk/18xx/rails/game/Round.java 2011-02-03 23:22:49 UTC (rev 1479) +++ trunk/18xx/rails/game/Round.java 2011-02-05 15:10:22 UTC (rev 1480) @@ -268,6 +268,7 @@ Map<Integer, PublicCompanyI> operatingCompanies = new TreeMap<Integer, PublicCompanyI>(); + List<PublicCompanyI> newOperatingCompanies; StockSpaceI space; int key; int minorNo = 0; @@ -276,13 +277,15 @@ int lastOperatingCompanyIndex; if (reorder) { + newOperatingCompanies = oldOperatingCompanies; lastOperatingCompanyIndex = oldOperatingCompanies.indexOf(lastOperatingCompany); } else { + newOperatingCompanies = companyManager.getAllPublicCompanies(); lastOperatingCompanyIndex = -1; } - for (PublicCompanyI company : companyManager.getAllPublicCompanies()) { - if (!canCompanyOperateThisRound(company)) continue; + for (PublicCompanyI company : newOperatingCompanies) { + if (!reorder && !canCompanyOperateThisRound(company)) continue; if (reorder && oldOperatingCompanies.indexOf(company) <= lastOperatingCompanyIndex) { Modified: trunk/18xx/rails/game/specific/_1835/OperatingRound_1835.java =================================================================== --- trunk/18xx/rails/game/specific/_1835/OperatingRound_1835.java 2011-02-03 23:22:49 UTC (rev 1479) +++ trunk/18xx/rails/game/specific/_1835/OperatingRound_1835.java 2011-02-05 15:10:22 UTC (rev 1480) @@ -138,7 +138,6 @@ @Override public void resume() { - PublicCompanyI prussian = companyManager.getPublicCompany(GameManager_1835.PR_ID); if (prussian.hasFloated() && !prussian.hasOperated() @@ -149,7 +148,7 @@ log.debug("M2 has not operated: PR can operate"); // Insert the Prussian before the first major company - // with a lower current price that hoas not yet operated + // with a lower current price that has not yet operated // and isn't currently operating int index = 0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |