mirror of
https://github.com/inf112-v20/Fiasko.git
synced 2025-01-31 15:19:35 +01:00
Gjør det mulig å hente ut alle roboter fra spillet
This commit is contained in:
parent
339bec8edd
commit
57291efadd
@ -90,6 +90,18 @@ public class Board {
|
||||
return robotsCopy;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets all robots from the board
|
||||
*
|
||||
* @return A list of robots
|
||||
*/
|
||||
public List<Robot> getAllRobots() {
|
||||
List<Robot> robotsCopy = new ArrayList<>(robots.values());
|
||||
robotsCopy.addAll(deadRobots);
|
||||
robotsCopy.replaceAll(Robot::copy);
|
||||
return robotsCopy;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets all the tiles from the board
|
||||
*
|
||||
|
@ -58,6 +58,13 @@ public interface DrawableGame {
|
||||
*/
|
||||
List<Robot> getRobotsToDraw();
|
||||
|
||||
/**
|
||||
* Gets a list of all robots still participating
|
||||
*
|
||||
* @return A list of all robots
|
||||
*/
|
||||
List<Robot> getAllRobots();
|
||||
|
||||
/**
|
||||
* Gets a list of active players to receive information about player names
|
||||
*
|
||||
|
@ -11,7 +11,7 @@ import java.util.List;
|
||||
*/
|
||||
public interface InteractableGame {
|
||||
/**
|
||||
* Gets the current state og the game
|
||||
* Gets the current state of the game
|
||||
*
|
||||
* @return The state the game is currently in
|
||||
*/
|
||||
|
@ -34,37 +34,6 @@ public class RoboRallyGame implements DrawableGame, InteractableGame {
|
||||
private ProgrammingCardDeck playerHand;
|
||||
private Phase phase;
|
||||
|
||||
public Boolean getRobotPowerdown(){
|
||||
if(getPlayerFromName(this.playerName)!=null){
|
||||
return gameBoard.getPowerDown(Objects.requireNonNull(getPlayerFromName(this.playerName)).getRobotID());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Instantiates a new Robo Rally game
|
||||
*
|
||||
* @param playerList A list of all the players participating in the game
|
||||
* @param boardName The playerName of the board to use
|
||||
* @param host Whether this player is the host
|
||||
* @param playerName The name of the player of this instance of the game
|
||||
* @param server The server if this player is host. Should be null otherwise
|
||||
* @param debug Whether this game is to use the debugging board
|
||||
*/
|
||||
public RoboRallyGame(List<Player> playerList, String boardName, boolean host, String playerName,
|
||||
RoboRallyServer server, boolean debug) {
|
||||
this.playerName = playerName;
|
||||
this.host = host;
|
||||
this.playerList = playerList;
|
||||
this.server = server;
|
||||
if (debug) {
|
||||
initializeDebugMode();
|
||||
} else {
|
||||
initializeGame(boardName);
|
||||
}
|
||||
this.phase = new Phase(gameBoard, playerList, 600, this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Instantiates a new Robo Rally game
|
||||
*
|
||||
@ -84,6 +53,13 @@ public class RoboRallyGame implements DrawableGame, InteractableGame {
|
||||
this.phase = new Phase(gameBoard, playerList, 600, this);
|
||||
}
|
||||
|
||||
public Boolean getRobotPowerdown() {
|
||||
if (getPlayerFromName(this.playerName) != null) {
|
||||
return gameBoard.getPowerDown(Objects.requireNonNull(getPlayerFromName(this.playerName)).getRobotID());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getWidth() {
|
||||
return gameBoard.getBoardWidth();
|
||||
@ -114,6 +90,11 @@ public class RoboRallyGame implements DrawableGame, InteractableGame {
|
||||
return gameBoard.getAliveRobots();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Robot> getAllRobots() {
|
||||
return gameBoard.getAllRobots();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Player> getPlayers() {
|
||||
return new ArrayList<>(this.playerList);
|
||||
@ -186,17 +167,17 @@ public class RoboRallyGame implements DrawableGame, InteractableGame {
|
||||
removeNonLockedProgrammingCardsFromPlayers();
|
||||
}
|
||||
|
||||
if (getPlayerFromName(this.playerName)!=null&& gameBoard.getPowerDown(Objects.requireNonNull(getPlayerFromName(this.playerName)).getRobotID())) {
|
||||
if (getPlayerFromName(this.playerName) != null && gameBoard.getPowerDown(Objects.requireNonNull(getPlayerFromName(this.playerName)).getRobotID())) {
|
||||
setGameState(GameState.CHOOSING_STAY_IN_POWER_DOWN);
|
||||
} else {
|
||||
setGameState(GameState.LOADING);
|
||||
setGameState(GameState.SKIP_STAY_IN_POWER_DOWN);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void receiveStayInPowerDown(PowerDownContainer powerDowns) {
|
||||
for (Player player : playerList) {
|
||||
if(gameBoard.getPowerDown(player.getRobotID())) {
|
||||
if (gameBoard.getPowerDown(player.getRobotID())) {
|
||||
player.setPowerDownNextRound(powerDowns.getPowerDown().get(player.getName()));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user