From: <ev...@us...> - 2011-04-29 13:27:17
|
Revision: 1540 http://rails.svn.sourceforge.net/rails/?rev=1540&view=rev Author: evos Date: 2011-04-29 13:27:11 +0000 (Fri, 29 Apr 2011) Log Message: ----------- 18TN: Enabled private purchase in first OR turn at fixed price. Modified Paths: -------------- trunk/18xx/rails/game/GameManager.java trunk/18xx/rails/game/GameManagerI.java trunk/18xx/rails/game/specific/_18TN/OperatingRound_18TN.java Modified: trunk/18xx/rails/game/GameManager.java =================================================================== --- trunk/18xx/rails/game/GameManager.java 2011-04-29 13:03:56 UTC (rev 1539) +++ trunk/18xx/rails/game/GameManager.java 2011-04-29 13:27:11 UTC (rev 1540) @@ -743,6 +743,10 @@ return String.valueOf(absoluteORNumber.intValue()); } } + + public int getAbsoluteORNumber () { + return absoluteORNumber.intValue(); + } /* (non-Javadoc) * @see rails.game.GameManagerI#getCompositeORNumber() Modified: trunk/18xx/rails/game/GameManagerI.java =================================================================== --- trunk/18xx/rails/game/GameManagerI.java 2011-04-29 13:03:56 UTC (rev 1539) +++ trunk/18xx/rails/game/GameManagerI.java 2011-04-29 13:27:11 UTC (rev 1540) @@ -38,6 +38,7 @@ public String getORId (); public abstract String getCompositeORNumber(); public int getRelativeORNumber(); + public int getAbsoluteORNumber (); public abstract int getSRNumber(); Modified: trunk/18xx/rails/game/specific/_18TN/OperatingRound_18TN.java =================================================================== --- trunk/18xx/rails/game/specific/_18TN/OperatingRound_18TN.java 2011-04-29 13:03:56 UTC (rev 1539) +++ trunk/18xx/rails/game/specific/_18TN/OperatingRound_18TN.java 2011-04-29 13:27:11 UTC (rev 1540) @@ -11,31 +11,30 @@ } protected boolean isPrivateSellingAllowed() { - return getCurrentPhase().isPrivateSellingAllowed() + return super.isPrivateSellingAllowed() // 18TN special - || !operatingCompany.get().hasOperated() && !ownsPrivate(operatingCompany.get()); + || gameManager.getAbsoluteORNumber() == 1 + && !ownsPrivate(operatingCompany.get()); } protected int getPrivateMinimumPrice (PrivateCompanyI privComp) { - int minPrice = privComp.getLowerPrice(); - if (minPrice == PrivateCompanyI.NO_PRICE_LIMIT) { - minPrice = 0; - } else if (!operatingCompany.get().hasOperated()) { + if (gameManager.getAbsoluteORNumber() == 1 + && !getCurrentPhase().isPrivateSellingAllowed()) { // 18TN special - minPrice = privComp.getBasePrice(); + return privComp.getBasePrice(); + } else { + return super.getPrivateMinimumPrice(privComp); } - return minPrice; } protected int getPrivateMaximumPrice (PrivateCompanyI privComp) { - int maxPrice = privComp.getUpperPrice(); - if (maxPrice == PrivateCompanyI.NO_PRICE_LIMIT) { - maxPrice = operatingCompany.get().getCash(); - } else if (!operatingCompany.get().hasOperated()) { + if (gameManager.getAbsoluteORNumber() == 1 + && !getCurrentPhase().isPrivateSellingAllowed()) { // 18TN special - maxPrice = privComp.getBasePrice(); + return privComp.getBasePrice(); + } else { + return super.getPrivateMaximumPrice(privComp); } - return maxPrice; } private boolean ownsPrivate (PublicCompanyI company) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |