Update of /cvsroot/rails/18xx/rails/game/specific/_18EU
In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv5643/rails/game/specific/_18EU
Modified Files:
StockRound_18EU.java OperatingRound_18EU.java
Log Message:
Rewritten code to assign next operating company to avoid the OperatingCompanyIndex state object. This was continually causing problems.
Also partial implementation of 18EU bankruptcy; game currently hangs if this occurs.
Index: StockRound_18EU.java
===================================================================
RCS file: /cvsroot/rails/18xx/rails/game/specific/_18EU/StockRound_18EU.java,v
retrieving revision 1.38
retrieving revision 1.39
diff -C2 -d -r1.38 -r1.39
*** StockRound_18EU.java 9 May 2010 22:00:26 -0000 1.38
--- StockRound_18EU.java 15 May 2010 16:36:09 -0000 1.39
***************
*** 692,700 ****
discardingTrains.set(true);
! // Make up a list of train discarding companies in sequence of the
! // last OR
! // TODO: this disregards any changes in the operating sequence
! // during the last OR. This is probably wrong.
! PublicCompanyI[] operatingCompanies = getOperatingCompanies();
discardingCompanies =
new PublicCompanyI[compWithExcessTrains.size()];
--- 692,697 ----
discardingTrains.set(true);
! // Make up a list of train discarding companies in operating sequence.
! PublicCompanyI[] operatingCompanies = setOperatingCompanies().toArray(new PublicCompanyI[0]);
discardingCompanies =
new PublicCompanyI[compWithExcessTrains.size()];
Index: OperatingRound_18EU.java
===================================================================
RCS file: /cvsroot/rails/18xx/rails/game/specific/_18EU/OperatingRound_18EU.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** OperatingRound_18EU.java 26 Jan 2010 19:50:45 -0000 1.14
--- OperatingRound_18EU.java 15 May 2010 16:36:09 -0000 1.15
***************
*** 114,118 ****
/* Other company trains, sorted by president (current player first) */
if (getCurrentPhase().isTrainTradingAllowed()) {
- PublicCompanyI c;
Player p;
Portfolio pf;
--- 114,117 ----
***************
*** 127,132 ****
List<PublicCompanyI> companies;
// Sort out which players preside over wich companies.
! for (int j = 0; j < operatingCompanyArray.length; j++) {
! c = operatingCompanyArray[j];
if (c == operatingCompany) continue;
p = c.getPresident();
--- 126,130 ----
List<PublicCompanyI> companies;
// Sort out which players preside over wich companies.
! for (PublicCompanyI c : operatingCompanies) {
if (c == operatingCompany) continue;
p = c.getPresident();
***************
*** 187,191 ****
// one to act in the Final Minor Exchange Round.
if (result && gameManager.getPhaseManager().hasReachedPhase("5")
! && operatingCompanyArray[0].getTypeName().equals("Minor")
&& ((GameManager_18EU)gameManager).getPlayerToStartFMERound() == null) {
((GameManager_18EU)gameManager).setPlayerToStartFMERound(operatingCompany.getPresident());
--- 185,189 ----
// one to act in the Final Minor Exchange Round.
if (result && gameManager.getPhaseManager().hasReachedPhase("5")
! && operatingCompanies.get(0).getTypeName().equalsIgnoreCase("Minor")
&& ((GameManager_18EU)gameManager).getPlayerToStartFMERound() == null) {
((GameManager_18EU)gameManager).setPlayerToStartFMERound(operatingCompany.getPresident());
***************
*** 206,210 ****
int numberOfTrains;
! for (PublicCompanyI comp : operatingCompanyArray) {
portfolio = comp.getPortfolio();
numberOfTrains = portfolio.getNumberOfTrains();
--- 204,208 ----
int numberOfTrains;
! for (PublicCompanyI comp : operatingCompanies) {
portfolio = comp.getPortfolio();
numberOfTrains = portfolio.getNumberOfTrains();
|