rails.game.specific._1835
Class OperatingRound_1835

java.lang.Object
  extended by rails.game.Round
      extended by rails.game.OperatingRound
          extended by rails.game.specific._1835.OperatingRound_1835
All Implemented Interfaces:
java.util.Observer, RoundI

public class OperatingRound_1835
extends OperatingRound


Field Summary
 
Fields inherited from class rails.game.OperatingRound
actionPossible, companiesOperatedThisRound, currentNormalTokenLays, currentSpecialProperties, currentSpecialTokenLays, doneAllowed, excessTrainCompanies, loansThisRound, noMapMode, operatingCompanies, operatingCompany, savedAction, selectedAction, SPLIT_ROUND_DOWN, stepObject, steps, thisOrNumber, tileLaysPerColour, trainManager, trainsBoughtThisTurn
 
Fields inherited from class rails.game.Round
autopasses, bank, canRequestTurn, companyManager, gameManager, guiHints, hasRequestedTurn, ipo, log, mapManager, moveStack, playerManager, pool, possibleActions, scrapHeap, stockMarket, unavailable, wasInterrupted
 
Constructor Summary
OperatingRound_1835(GameManagerI gameManager)
           
 
Method Summary
protected  boolean canCompanyOperateThisRound(PublicCompanyI company)
          Can a public company operate? (1835 special version)
protected  java.util.Map<CashHolder,java.lang.Integer> countSharesPerRecipient()
          Count the number of shares per revenue recipient
 boolean discardTrain(DiscardTrain action)
           
protected  java.util.List<LayTile> getSpecialTileLays(boolean display)
          Create a List of allowed special tile lays (see LayTile class).
protected  void initTurn()
          Register black minors as having operated for the purpose of denying income after conversion to a PR share
 boolean layTile(LayTile action)
           
protected  void newPhaseChecks()
          Stub
protected  void privatesPayOut()
           
 void resume()
          Generic stub to resume an interrupted round.
 
Methods inherited from class rails.game.OperatingRound
areTileLaysPossible, buyBonusToken, buyPrivate, buyTrain, calculateLoanAmount, canBuyTrainNow, checkForDeductions, checkForeignSales, checkForExcessTrains, checkNormalTileLay, done, equals, executeClosePrivate, executeDeductions, executeOperatingCost, executeRepayLoans, executeSetRevenueAndDividend, executeTakeLoans, finishOR, finishTurn, finishTurnSpecials, gameSpecificNextStep, getBeneficiary, getHelp, getNormalTileLays, getOperatingCompanies, getOperatingCompany, getOperatingCompanyIndex, getPrivateMaximumPrice, getPrivateMinimumPrice, getRoundName, getSpecialProperties, getSpecialProperties, getStep, initNormalTileLays, isBelowTrainLimit, isPrivateSellingAllowed, isTileLayAllowed, isTokenLayAllowed, layBaseToken, layBonusToken, maySellPrivate, nextStep, nextStep, payLoanInterest, payout, prepareNoMapActions, prepareRevenueAndDividendAction, prepareStep, process, processGameSpecificAction, reachDestination, reachDestinations, registerNormalTileLay, repayLoans, setBonusTokenLays, setBuyableTrains, setDestinationActions, setGameSpecificPossibleActions, setNextOperatingCompany, setNormalTokenLays, setOperatingCompany, setPossibleActions, setRevenueAndDividend, setSpecialTokenLays, setStep, setTrainsToDiscard, skip, splitRevenue, start, takeLoans, toString, update, updateAllowedTileColours, validateNormalTileLay, validateRepayLoans, validateSetRevenueAndDividend, validateTakeLoans, withhold
 
Methods inherited from class rails.game.Round
canRequestTurn, certCountsAsSold, checkFlotation, exchangeTokens, finishRound, floatCompany, getAutopasses, getCurrentPhase, getCurrentPlayer, getCurrentPlayerIndex, getGameManager, getGameOption, getGameParameter, getGameParameterAsBoolean, getGameParameterAsInt, getNumberOfActivePlayers, getNumberOfPlayers, getPlayers, getRoundTypeForUI, getSoldPercentage, hasAutopassed, pay, pay, requestTurn, setAutopass, setCanRequestTurn, setCurrentPlayer, setCurrentPlayerIndex, setOperatingCompanies, setOperatingCompanies, transferCertificate, transferCertificates, wasInterrupted
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OperatingRound_1835

public OperatingRound_1835(GameManagerI gameManager)
Method Detail

canCompanyOperateThisRound

protected boolean canCompanyOperateThisRound(PublicCompanyI company)
Can a public company operate? (1835 special version)

Overrides:
canCompanyOperateThisRound in class Round

privatesPayOut

protected void privatesPayOut()
Overrides:
privatesPayOut in class OperatingRound

countSharesPerRecipient

protected java.util.Map<CashHolder,java.lang.Integer> countSharesPerRecipient()
Count the number of shares per revenue recipient

A special rule applies to 1835 to prevent black privates and minors providing income twice during an OR.

Overrides:
countSharesPerRecipient in class OperatingRound

initTurn

protected void initTurn()
Register black minors as having operated for the purpose of denying income after conversion to a PR share

Overrides:
initTurn in class OperatingRound

resume

public void resume()
Description copied from class: Round
Generic stub to resume an interrupted round. Only valid if implemented in a subclass.

Specified by:
resume in interface RoundI
Overrides:
resume in class OperatingRound

getSpecialTileLays

protected java.util.List<LayTile> getSpecialTileLays(boolean display)
Description copied from class: OperatingRound
Create a List of allowed special tile lays (see LayTile class). This method should be called before each user action in the tile laying step.

Overrides:
getSpecialTileLays in class OperatingRound

layTile

public boolean layTile(LayTile action)
Overrides:
layTile in class OperatingRound

newPhaseChecks

protected void newPhaseChecks()
Description copied from class: OperatingRound
Stub

Overrides:
newPhaseChecks in class OperatingRound

discardTrain

public boolean discardTrain(DiscardTrain action)
Overrides:
discardTrain in class OperatingRound