mirror of
https://github.com/inf112-v20/Fiasko.git
synced 2025-01-31 23:29:36 +01:00
la til tilgang til client og server
This commit is contained in:
parent
5ea2219ae9
commit
1cace21e88
@ -1,11 +1,15 @@
|
|||||||
package inf112.fiasko.roborally.objects;
|
package inf112.fiasko.roborally.objects;
|
||||||
|
|
||||||
|
import com.esotericsoftware.kryonet.Client;
|
||||||
|
import com.esotericsoftware.kryonet.Connection;
|
||||||
import inf112.fiasko.roborally.element_properties.Action;
|
import inf112.fiasko.roborally.element_properties.Action;
|
||||||
import inf112.fiasko.roborally.element_properties.Direction;
|
import inf112.fiasko.roborally.element_properties.Direction;
|
||||||
import inf112.fiasko.roborally.element_properties.GameState;
|
import inf112.fiasko.roborally.element_properties.GameState;
|
||||||
import inf112.fiasko.roborally.element_properties.Position;
|
import inf112.fiasko.roborally.element_properties.Position;
|
||||||
import inf112.fiasko.roborally.element_properties.RobotID;
|
import inf112.fiasko.roborally.element_properties.RobotID;
|
||||||
import inf112.fiasko.roborally.element_properties.TileType;
|
import inf112.fiasko.roborally.element_properties.TileType;
|
||||||
|
import inf112.fiasko.roborally.networking.RoboRallyClient;
|
||||||
|
import inf112.fiasko.roborally.networking.RoboRallyServer;
|
||||||
import inf112.fiasko.roborally.utility.BoardLoaderUtil;
|
import inf112.fiasko.roborally.utility.BoardLoaderUtil;
|
||||||
import inf112.fiasko.roborally.utility.DeckLoaderUtil;
|
import inf112.fiasko.roborally.utility.DeckLoaderUtil;
|
||||||
|
|
||||||
@ -30,6 +34,19 @@ public class RoboRallyGame implements IDrawableGame {
|
|||||||
private final boolean host;
|
private final boolean host;
|
||||||
private Deck<ProgrammingCard> mainDeck;
|
private Deck<ProgrammingCard> mainDeck;
|
||||||
private GameState gameState = GameState.INITIAL_SETUP;
|
private GameState gameState = GameState.INITIAL_SETUP;
|
||||||
|
private String nameOfPlayer;
|
||||||
|
private RoboRallyClient client;
|
||||||
|
private RoboRallyServer server;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getNameOfPlayer() {
|
||||||
|
return nameOfPlayer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNameOfPlayer(String nameOfPlayer) {
|
||||||
|
this.nameOfPlayer = nameOfPlayer;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the gameState of the game
|
* Returns the gameState of the game
|
||||||
@ -39,6 +56,22 @@ public class RoboRallyGame implements IDrawableGame {
|
|||||||
return gameState;
|
return gameState;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public RoboRallyClient getClient() {
|
||||||
|
return client;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setClient(RoboRallyClient client) {
|
||||||
|
this.client=client;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setServer(RoboRallyServer server) {
|
||||||
|
this.server=server;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the gameState of the game
|
* Sets the gameState of the game
|
||||||
* @param gameState the gameState
|
* @param gameState the gameState
|
||||||
@ -51,7 +84,8 @@ public class RoboRallyGame implements IDrawableGame {
|
|||||||
* Instantiates a new robo rally game
|
* Instantiates a new robo rally game
|
||||||
* @param debug Whether to start the game in debugging mode
|
* @param debug Whether to start the game in debugging mode
|
||||||
*/
|
*/
|
||||||
public RoboRallyGame(List<Player> playerList, String boardName, boolean host, boolean debug) {
|
public RoboRallyGame(List<Player> playerList, String boardName, boolean host, boolean debug, String name) {
|
||||||
|
this.nameOfPlayer = name;
|
||||||
this.host = host;
|
this.host = host;
|
||||||
this.playerList = playerList;
|
this.playerList = playerList;
|
||||||
if (debug) {
|
if (debug) {
|
||||||
@ -60,11 +94,11 @@ public class RoboRallyGame implements IDrawableGame {
|
|||||||
initializeGame(boardName);
|
initializeGame(boardName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiates a new robo rally game
|
* Instantiates a new robo rally game
|
||||||
*/
|
*/
|
||||||
public RoboRallyGame(List<Player> playerList, String boardName,boolean host) {
|
public RoboRallyGame(List<Player> playerList, String boardName,boolean host,String nameOfPlayer) {
|
||||||
|
this.nameOfPlayer = nameOfPlayer;
|
||||||
this.host = host;
|
this.host = host;
|
||||||
this.playerList = playerList;
|
this.playerList = playerList;
|
||||||
initializeGame(boardName);
|
initializeGame(boardName);
|
||||||
@ -183,6 +217,14 @@ public class RoboRallyGame implements IDrawableGame {
|
|||||||
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);
|
||||||
}
|
}
|
||||||
|
private Player getPlayerFromName(String name){
|
||||||
|
for (Player player:playerList) {
|
||||||
|
if(player.getName().equals(name)){
|
||||||
|
return player;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Runs all the steps of one turn in the game
|
* Runs all the steps of one turn in the game
|
||||||
@ -215,15 +257,26 @@ public class RoboRallyGame implements IDrawableGame {
|
|||||||
gameBoard.executePowerdown();
|
gameBoard.executePowerdown();
|
||||||
if (host) {
|
if (host) {
|
||||||
distributeProgrammingCardsToPlayers();
|
distributeProgrammingCardsToPlayers();
|
||||||
|
for (Connection connection: server.getPlayerNames().keySet()) {
|
||||||
|
String playerName = server.getPlayerNames().get(connection);
|
||||||
|
Player player = getPlayerFromName(playerName);
|
||||||
|
if(player.getPlayerDeck()!=null) {
|
||||||
|
server.sendToClient(connection, player.getPlayerDeck());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
setGameState(GameState.CHOOSING_CARDS);
|
||||||
// TODO: Make program for this player, if not in power down
|
// TODO: Make program for this player, if not in power down
|
||||||
// TODO: Ask player for new power down
|
// TODO: Ask player for new power down
|
||||||
// Run the phases of the game
|
// Run the phases of the game
|
||||||
runPhase(1);
|
while (getGameState()==GameState.CHOOSING_CARDS) {
|
||||||
runPhase(2);
|
//loops waiting for the player to be done choosing their cards
|
||||||
runPhase(3);
|
}
|
||||||
runPhase(4);
|
runPhase(1);
|
||||||
runPhase(5);
|
runPhase(2);
|
||||||
|
runPhase(3);
|
||||||
|
runPhase(4);
|
||||||
|
runPhase(5);
|
||||||
|
|
||||||
// Repair robots on repair tiles
|
// Repair robots on repair tiles
|
||||||
repairAllRobotsOnRepairTiles();
|
repairAllRobotsOnRepairTiles();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user