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