added ask if continue powerdown

This commit is contained in:
Tobydrama 2020-04-20 18:04:34 +02:00
parent 597215910e
commit 48384686fb
2 changed files with 19 additions and 8 deletions

View File

@ -25,10 +25,7 @@ public class ScreenManager {
public synchronized CardChoiceScreen getCardChoiceScreen(RoboRallyWrapper roboRallyWrapper) { public synchronized CardChoiceScreen getCardChoiceScreen(RoboRallyWrapper roboRallyWrapper) {
if (this.cardChoiceScreen == null) { return new CardChoiceScreen(roboRallyWrapper);
this.cardChoiceScreen = new CardChoiceScreen(roboRallyWrapper);
}
return cardChoiceScreen;
} }
/** /**
@ -51,10 +48,7 @@ public class ScreenManager {
* @return A power down screen instance * @return A power down screen instance
*/ */
public synchronized PowerDownScreen getPowerDownScreen(RoboRallyWrapper roboRallyWrapper) { public synchronized PowerDownScreen getPowerDownScreen(RoboRallyWrapper roboRallyWrapper) {
if (this.powerDownScreen == null) { return new PowerDownScreen(roboRallyWrapper);
this.powerDownScreen = new PowerDownScreen(roboRallyWrapper);
}
return powerDownScreen;
} }
/** /**

View File

@ -167,13 +167,24 @@ public class RoboRallyGame implements DrawableGame, InteractableGame {
// Repair robots on repair tiles // Repair robots on repair tiles
repairAllRobotsOnRepairTiles(); repairAllRobotsOnRepairTiles();
//Updates the host's card deck //Updates the host's card deck
if (host) { if (host) {
//TODO: Fix updateLockedProgrammingCardsForAllPlayers throwing NullPointerException on robotDamage //TODO: Fix updateLockedProgrammingCardsForAllPlayers throwing NullPointerException on robotDamage
updateLockedProgrammingCardsForAllPlayers(); updateLockedProgrammingCardsForAllPlayers();
removeNonLockedProgrammingCardsFromPlayers(); removeNonLockedProgrammingCardsFromPlayers();
} }
sendAllDeadPlayersToServer(); sendAllDeadPlayersToServer();
// TODO: If this player is in power down, ask if it shall continue // TODO: If this player is in power down, ask if it shall continue
if(gameBoard.getPowerDown(getPlayerFromName(this.playerName).getRobotID())){
setGameState(GameState.CHOOSING_STAY_IN_POWER_DOWN);
} else {
setGameState(GameState.LOADING);
}
updateRobotPowerDown();
} }
@Override @Override
@ -183,6 +194,8 @@ public class RoboRallyGame implements DrawableGame, InteractableGame {
} }
respawnRobots(); respawnRobots();
resetHasTouchedFlagThisTurnForAllRobots(); resetHasTouchedFlagThisTurnForAllRobots();
setGameState(GameState.BEGINNING_OF_GAME);
runTurn();
} }
@Override @Override
@ -230,6 +243,7 @@ public class RoboRallyGame implements DrawableGame, InteractableGame {
gameBoard = BoardLoaderUtil.loadBoard("boards/" + boardName, robots); gameBoard = BoardLoaderUtil.loadBoard("boards/" + boardName, robots);
moveRobotsToSpawn(); moveRobotsToSpawn();
repairTiles = gameBoard.getPositionsOfTileOnBoard(TileType.FLAG_1, TileType.FLAG_2, TileType.FLAG_3, repairTiles = gameBoard.getPositionsOfTileOnBoard(TileType.FLAG_1, TileType.FLAG_2, TileType.FLAG_3,
TileType.FLAG_4, TileType.WRENCH, TileType.WRENCH_AND_HAMMER); TileType.FLAG_4, TileType.WRENCH, TileType.WRENCH_AND_HAMMER);
@ -256,7 +270,10 @@ public class RoboRallyGame implements DrawableGame, InteractableGame {
} }
BoardElementContainer<Tile> spawnTileContainer = spawnTileContainerList.get(0); BoardElementContainer<Tile> spawnTileContainer = spawnTileContainerList.get(0);
gameBoard.teleportRobot(robotID, spawnTileContainer.getPosition()); gameBoard.teleportRobot(robotID, spawnTileContainer.getPosition());
gameBoard.setBackupPositionOfRobot(robotID, spawnTileContainer.getPosition());
} }
} }
/** /**