|
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.
|