From: Erik V. <ev...@us...> - 2010-05-15 16:36:17
|
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(); |