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