rails.game
Class StockMarket
java.lang.Object
rails.game.StockMarket
- All Implemented Interfaces:
- ConfigurableComponentI, StockMarketI
public class StockMarket
- extends java.lang.Object
- implements StockMarketI, ConfigurableComponentI
Method Summary |
void |
close(PublicCompanyI company)
|
void |
configureFromXML(Tag tag)
Instructs the component to configure itself from the provided XML
element. |
void |
finishConfiguration(GameManagerI gameManager)
Final initialisations, to be called after all XML processing is complete. |
int |
getNumberOfColumns()
|
int |
getNumberOfRows()
|
int[] |
getStartPrices()
Return start prices as an int array. |
StockSpaceI |
getStartSpace(int price)
|
java.util.List<StockSpaceI> |
getStartSpaces()
|
StockSpaceI[][] |
getStockChart()
|
StockSpaceI |
getStockSpace(int row,
int col)
|
StockSpace |
getStockSpace(java.lang.String name)
|
protected void |
moveDown(PublicCompanyI company,
int numberOfSpaces)
|
protected void |
moveLeftOrDown(PublicCompanyI company)
|
protected void |
moveRightOrUp(PublicCompanyI company)
|
void |
moveUp(PublicCompanyI company)
|
void |
payOut(PublicCompanyI company)
|
protected void |
prepareMove(PublicCompanyI company,
StockSpaceI from,
StockSpaceI to)
|
void |
processMove(PublicCompanyI company,
StockSpaceI from,
StockSpaceI to)
|
void |
processMoveToStackPosition(PublicCompanyI company,
StockSpaceI from,
StockSpaceI to,
int toStackPosition)
|
PublicCertificate |
removeShareFromPile(PublicCertificate stock)
|
void |
sell(PublicCompanyI company,
int numberOfSpaces)
|
void |
soldOut(PublicCompanyI company)
|
void |
start(PublicCompanyI company,
StockSpaceI price)
|
void |
withhold(PublicCompanyI company)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
stockSpaceTypes
protected java.util.HashMap<java.lang.String,StockSpaceTypeI> stockSpaceTypes
stockChartSpaces
protected java.util.HashMap<java.lang.String,StockSpaceI> stockChartSpaces
stockChart
protected StockSpaceI[][] stockChart
currentSquare
protected StockSpaceI currentSquare
numRows
protected int numRows
numCols
protected int numCols
startSpaces
protected java.util.ArrayList<StockSpaceI> startSpaces
startPrices
protected int[] startPrices
defaultType
protected StockSpaceTypeI defaultType
gameManager
GameManagerI gameManager
upOrDownRight
protected boolean upOrDownRight
gameOver
protected BooleanState gameOver
- GameOver becomes true if a stock market square is reached that is marked as such
ipoPile
java.util.ArrayList<PublicCertificate> ipoPile
DEFAULT
public static final java.lang.String DEFAULT
- See Also:
- Constant Field Values
StockMarket
public StockMarket()
configureFromXML
public void configureFromXML(Tag tag)
throws ConfigurationException
- Description copied from interface:
ConfigurableComponentI
- Instructs the component to configure itself from the provided XML
element.
- Specified by:
configureFromXML
in interface ConfigurableComponentI
- Throws:
ConfigurationException
- See Also:
rails.game.ConfigurableComponentI#configureFromXML(org.w3c.dom.Element)
finishConfiguration
public void finishConfiguration(GameManagerI gameManager)
- Final initialisations, to be called after all XML processing is complete.
The purpose is to register fixed company start prices.
- Specified by:
finishConfiguration
in interface ConfigurableComponentI
- Parameters:
gameManager
- The 'parent' configurable component is passed to allow
the 'child' to access any other object without the need to resort to
static calls where possible.
getStockChart
public StockSpaceI[][] getStockChart()
- Specified by:
getStockChart
in interface StockMarketI
- Returns:
getStockSpace
public StockSpaceI getStockSpace(int row,
int col)
- Specified by:
getStockSpace
in interface StockMarketI
getStockSpace
public StockSpace getStockSpace(java.lang.String name)
- Specified by:
getStockSpace
in interface StockMarketI
start
public void start(PublicCompanyI company,
StockSpaceI price)
- Specified by:
start
in interface StockMarketI
payOut
public void payOut(PublicCompanyI company)
- Specified by:
payOut
in interface StockMarketI
withhold
public void withhold(PublicCompanyI company)
- Specified by:
withhold
in interface StockMarketI
sell
public void sell(PublicCompanyI company,
int numberOfSpaces)
- Specified by:
sell
in interface StockMarketI
soldOut
public void soldOut(PublicCompanyI company)
- Specified by:
soldOut
in interface StockMarketI
moveUp
public void moveUp(PublicCompanyI company)
- Specified by:
moveUp
in interface StockMarketI
close
public void close(PublicCompanyI company)
- Specified by:
close
in interface StockMarketI
moveDown
protected void moveDown(PublicCompanyI company,
int numberOfSpaces)
moveRightOrUp
protected void moveRightOrUp(PublicCompanyI company)
moveLeftOrDown
protected void moveLeftOrDown(PublicCompanyI company)
prepareMove
protected void prepareMove(PublicCompanyI company,
StockSpaceI from,
StockSpaceI to)
processMove
public void processMove(PublicCompanyI company,
StockSpaceI from,
StockSpaceI to)
- Specified by:
processMove
in interface StockMarketI
processMoveToStackPosition
public void processMoveToStackPosition(PublicCompanyI company,
StockSpaceI from,
StockSpaceI to,
int toStackPosition)
- Specified by:
processMoveToStackPosition
in interface StockMarketI
getStartSpaces
public java.util.List<StockSpaceI> getStartSpaces()
- Specified by:
getStartSpaces
in interface StockMarketI
- Returns:
getStartPrices
public int[] getStartPrices()
- Return start prices as an int array. Note: this array is NOT sorted.
- Specified by:
getStartPrices
in interface StockMarketI
- Returns:
getStartSpace
public StockSpaceI getStartSpace(int price)
- Specified by:
getStartSpace
in interface StockMarketI
removeShareFromPile
public PublicCertificate removeShareFromPile(PublicCertificate stock)
getNumberOfColumns
public int getNumberOfColumns()
- Specified by:
getNumberOfColumns
in interface StockMarketI
- Returns:
getNumberOfRows
public int getNumberOfRows()
- Specified by:
getNumberOfRows
in interface StockMarketI
- Returns: