public class RoboRallyGame extends java.lang.Object implements DrawableGame, InteractableGame
| Constructor and Description | 
|---|
RoboRallyGame(java.util.List<Player> playerList,
             java.lang.String boardName,
             java.lang.String playerName,
             RoboRallyServer server,
             java.lang.Boolean testingMode)
Instantiates a new Robo Rally game 
 | 
| Modifier and Type | Method and Description | 
|---|---|
java.util.List<Robot> | 
getAllRobots()
Gets a list of all robots still participating 
 | 
ProgrammingCardDeck | 
getExtraCards()
Gets extra cards necessary when the player has no program to lock 
 | 
GameState | 
getGameState()
Gets the current state of the game 
 | 
int | 
getHeight()
Gets the number of tiles in the y direction 
 | 
java.util.List<Particle> | 
getParticlesToDraw()
Gets a list of all the particles to be drawn
 Should return a list readable from top-left to top-right and so on. 
 | 
ProgrammingCardDeck | 
getPlayerHand()
Gets the hand of this player 
 | 
java.util.List<Player> | 
getPlayers()
Gets a list of active players to receive information about player names 
 | 
java.util.List<ProgrammingCard> | 
getProgram()
Gets the program of this player 
 | 
int | 
getProgramSize()
Gets the amount of cards the player can choose for their program 
 | 
java.lang.Boolean | 
getRobotPowerDown()
Gets the power down status of the client playing this instance of the game 
 | 
java.util.List<Robot> | 
getRobotsToDraw()
Gets a list of all robots to draw 
 | 
java.util.List<Tile> | 
getTilesToDraw()
Gets a list of all the tiles to be drawn
 Should return a list readable from top-left to top-right and so on. 
 | 
java.util.List<Wall> | 
getWallsToDraw()
Gets a list of all the walls to be drawn
 Should return a list readable from top-left to top-right and so on. 
 | 
int | 
getWidth()
Gets the number of tiles in the x direction 
 | 
java.lang.String | 
getWinningPlayerName()
Gets the name of the player who won 
 | 
void | 
receiveAllPrograms(ProgramsContainerResponse programs)
Continues turn when programs for all players are received from the server 
 | 
void | 
receiveStayInPowerDown(PowerDownContainerResponse powerDowns)
Continues turn when stay in power down is received from all players 
 | 
void | 
runTurn()
Starts a turn in the game 
 | 
void | 
setExtraCards(ProgrammingCardDeck extraCards)
Sets extra cards necessary when the player has no program to lock 
 | 
void | 
setGameState(GameState gameState)
Sets the state of the game 
 | 
void | 
setPlayerHand(ProgrammingCardDeck playerHand)
Sets the hand of this player 
 | 
void | 
setProgram(java.util.List<ProgrammingCard> program)
Sets the program of this player 
 | 
void | 
setWinningPlayerName(java.lang.String winningPlayerName)
Sets the name of the player that won the game 
 | 
public RoboRallyGame(java.util.List<Player> playerList, java.lang.String boardName, java.lang.String playerName, RoboRallyServer server, java.lang.Boolean testingMode)
playerList - A list of all the players participating in the gameboardName - The playerName of the board to useplayerName - The name of the player of this instance of the gameserver - The server if this player is host. Should be null otherwisetestingMode - Whether the game should use the test deck rather than the proper deckpublic java.lang.Boolean getRobotPowerDown()
public int getWidth()
DrawableGamegetWidth in interface DrawableGamepublic int getHeight()
DrawableGamegetHeight in interface DrawableGamepublic java.util.List<Tile> getTilesToDraw()
DrawableGameShould return a list readable from top-left to top-right and so on. In other words, the first getWidth() tiles should be drawn on the top row from left to right.
getTilesToDraw in interface DrawableGamepublic java.util.List<Wall> getWallsToDraw()
DrawableGameShould return a list readable from top-left to top-right and so on. In other words, the first getWidth() walls should be drawn on the top row from left to right.
getWallsToDraw in interface DrawableGamepublic java.util.List<Particle> getParticlesToDraw()
DrawableGameShould return a list readable from top-left to top-right and so on. In other words, the first getWidth() particles should be drawn on the top row from left to right.
getParticlesToDraw in interface DrawableGamepublic java.util.List<Robot> getRobotsToDraw()
DrawableGamegetRobotsToDraw in interface DrawableGamepublic java.util.List<Robot> getAllRobots()
DrawableGamegetAllRobots in interface DrawableGamepublic java.util.List<Player> getPlayers()
DrawableGamegetPlayers in interface DrawableGamepublic GameState getGameState()
InteractableGamegetGameState in interface InteractableGamepublic void setGameState(GameState gameState)
InteractableGamesetGameState in interface InteractableGamegameState - The new state of the gamepublic ProgrammingCardDeck getPlayerHand()
InteractableGamegetPlayerHand in interface InteractableGamepublic void setPlayerHand(ProgrammingCardDeck playerHand)
InteractableGamesetPlayerHand in interface InteractableGameplayerHand - The new hand of this playerpublic ProgrammingCardDeck getExtraCards()
InteractableGamegetExtraCards in interface InteractableGamepublic void setExtraCards(ProgrammingCardDeck extraCards)
InteractableGamesetExtraCards in interface InteractableGameextraCards - The extra cards to usepublic java.util.List<ProgrammingCard> getProgram()
InteractableGamegetProgram in interface InteractableGamepublic void setProgram(java.util.List<ProgrammingCard> program)
InteractableGamesetProgram in interface InteractableGameprogram - The program of this playerpublic int getProgramSize()
InteractableGamegetProgramSize in interface InteractableGamepublic void receiveAllPrograms(ProgramsContainerResponse programs) throws java.lang.InterruptedException
InteractableGamereceiveAllPrograms in interface InteractableGameprograms - The programs container received from the serverjava.lang.InterruptedException - If interrupted during sleeppublic void receiveStayInPowerDown(PowerDownContainerResponse powerDowns)
InteractableGamereceiveStayInPowerDown in interface InteractableGamepowerDowns - The power down container received from the serverpublic java.lang.String getWinningPlayerName()
InteractableGamegetWinningPlayerName in interface InteractableGamepublic void setWinningPlayerName(java.lang.String winningPlayerName)
InteractableGamesetWinningPlayerName in interface InteractableGamewinningPlayerName - The player winning the gamepublic void runTurn()