public class Phase
extends java.lang.Object
| Constructor and Description | 
|---|
Phase(Board gameBoard,
     java.util.List<Player> playerList,
     int cycleDelay,
     InteractableGame game)
Instantiates a new phase 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
checkAllFlags()
Checks all flags for robots. 
 | 
void | 
fireAllLasers()
Fires all lasers on the game board 
 | 
void | 
makeMove(RobotID robotID,
        Action action)
Makes the given robot move according to to the action input. 
 | 
void | 
moveAllConveyorBelts()
Moves robots standing on conveyor belts in the direction of the conveyor belt
 In addition, the function rotates appropriately when arriving at any non-straight conveyor belt. 
 | 
void | 
rotateCogwheels()
Rotates all robots that are standing on cogWheel tiles on the board. 
 | 
void | 
runPhase(int phaseNumber)
Runs one phase as defined in the Robo Rally rulebook 
 | 
void | 
runProgrammingCards(int phase)
Runs all programming cards for a phase 
 | 
void | 
updateRobotRespawn()  | 
public Phase(Board gameBoard, java.util.List<Player> playerList, int cycleDelay, InteractableGame game)
gameBoard - The board to act onplayerList - A list of players participating in the gamecycleDelay - The amount of milliseconds to wait between movesgame - The game which uses this objectpublic void runPhase(int phaseNumber)
              throws java.lang.InterruptedException
phaseNumber - The number of the phase to runjava.lang.InterruptedException - If interrupted wile trying to sleeppublic void updateRobotRespawn()
public void checkAllFlags()
public void fireAllLasers()
                   throws java.lang.InterruptedException
java.lang.InterruptedException - If it gets interrupted while trying to sleeppublic void runProgrammingCards(int phase)
                         throws java.lang.InterruptedException
phase - The number of the phase to run cards forjava.lang.InterruptedException - If it gets interrupted while trying to sleeppublic void rotateCogwheels()
                     throws java.lang.InterruptedException
java.lang.InterruptedException - If interrupted while sleeping.public void moveAllConveyorBelts()
                          throws java.lang.InterruptedException
In addition, the function rotates appropriately when arriving at any non-straight conveyor belt.
java.lang.InterruptedException - If disturbed during sleeppublic void makeMove(RobotID robotID, Action action) throws java.lang.InterruptedException
robotID - The ID of the robot to move.action - The specific movement the robot is to take.java.lang.InterruptedException - If interrupted wile trying to sleep.