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

View File

@ -167,13 +167,24 @@ public class RoboRallyGame implements DrawableGame, InteractableGame {
// Repair robots on repair tiles
repairAllRobotsOnRepairTiles();
//Updates the host's card deck
if (host) {
//TODO: Fix updateLockedProgrammingCardsForAllPlayers throwing NullPointerException on robotDamage
updateLockedProgrammingCardsForAllPlayers();
removeNonLockedProgrammingCardsFromPlayers();
}
sendAllDeadPlayersToServer();
// 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
@ -183,6 +194,8 @@ public class RoboRallyGame implements DrawableGame, InteractableGame {
}
respawnRobots();
resetHasTouchedFlagThisTurnForAllRobots();
setGameState(GameState.BEGINNING_OF_GAME);
runTurn();
}
@Override
@ -230,6 +243,7 @@ public class RoboRallyGame implements DrawableGame, InteractableGame {
gameBoard = BoardLoaderUtil.loadBoard("boards/" + boardName, robots);
moveRobotsToSpawn();
repairTiles = gameBoard.getPositionsOfTileOnBoard(TileType.FLAG_1, TileType.FLAG_2, TileType.FLAG_3,
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);
gameBoard.teleportRobot(robotID, spawnTileContainer.getPosition());
gameBoard.setBackupPositionOfRobot(robotID, spawnTileContainer.getPosition());
}
}
/**