mirror of
https://athene2.informatik.unibw-muenchen.de/progproj/gruppen-ht24/Gruppe-02.git
synced 2024-11-24 20:29:44 +01:00
allow the host player to set start money
This commit is contained in:
parent
3de31de9f7
commit
373b9e6d53
@ -31,7 +31,7 @@ import pp.monopoly.model.fields.WacheField;
|
||||
public class Player implements FieldVisitor<Void>{
|
||||
private final int id;
|
||||
private String name;
|
||||
private int accountBalance = 0;
|
||||
private int accountBalance = 15000;
|
||||
private Figure figure;
|
||||
private List<PropertyField> properties;
|
||||
private int getOutOfJailCard;
|
||||
@ -154,6 +154,14 @@ public class Player implements FieldVisitor<Void>{
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the account Balance
|
||||
* @param accountBalance the amount to be set to
|
||||
*/
|
||||
public void setAccountBalance(int accountBalance) {
|
||||
this.accountBalance = accountBalance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets this players current accountBalanece
|
||||
* @return the amount of money currently owned by this player
|
||||
|
@ -14,6 +14,7 @@ public class PlayerHandler {
|
||||
private List<Player> players = new LinkedList<>();
|
||||
private Set<Player> readyPlayers = new HashSet<>();
|
||||
private ServerGameLogic logic;
|
||||
private Player hostPlayer;
|
||||
|
||||
/**
|
||||
* Contructs a PlayerHandler
|
||||
@ -43,6 +44,14 @@ public class PlayerHandler {
|
||||
players.addAll(players);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the host player
|
||||
* @return the host player
|
||||
*/
|
||||
public Player getHostPlayer() {
|
||||
return hostPlayer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the number of players
|
||||
* @return number of players in the game
|
||||
@ -94,6 +103,9 @@ public class PlayerHandler {
|
||||
throw new IllegalArgumentException("Player already registered");
|
||||
}
|
||||
players.add(player);
|
||||
if(hostPlayer == null) {
|
||||
hostPlayer = player;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -150,4 +162,10 @@ public class PlayerHandler {
|
||||
void randomOrder() {
|
||||
Collections.shuffle(players);
|
||||
}
|
||||
|
||||
void setStartBalance(int amount) {
|
||||
for (Player player : players) {
|
||||
player.setAccountBalance(amount);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -35,6 +35,7 @@ public class ServerGameLogic implements ClientInterpreter {
|
||||
private ServerState state = ServerState.LOBBY;
|
||||
private static final int MAX_PLAYERS = 6;
|
||||
private BoardManager boardManager = new BoardManager();
|
||||
private int startMoney;
|
||||
|
||||
/**
|
||||
* Constructs a ServerGameLogic instance with the specified sender and configuration.
|
||||
@ -180,6 +181,10 @@ public class ServerGameLogic implements ClientInterpreter {
|
||||
@Override
|
||||
public void received(PlayerReady msg, int from) {
|
||||
Player player = playerHandler.getPlayerById(from);
|
||||
if(player == playerHandler.getHostPlayer()) {
|
||||
startMoney = msg.getStartMoney();
|
||||
}
|
||||
|
||||
if (player != null) {
|
||||
player.setName(msg.getName());
|
||||
playerHandler.setPlayerReady(player, true);
|
||||
@ -187,6 +192,7 @@ public class ServerGameLogic implements ClientInterpreter {
|
||||
}
|
||||
|
||||
if(playerHandler.allPlayersReady()) {
|
||||
playerHandler.setStartBalance(startMoney);
|
||||
for (Player p : playerHandler.getPlayers()) {
|
||||
send(p, new GameStart(playerHandler.getPlayers()));
|
||||
}
|
||||
|
@ -4,9 +4,10 @@ package pp.monopoly.message.client;
|
||||
* Represents a message indicating the player is ready to play.
|
||||
*/
|
||||
public class PlayerReady extends ClientMessage {
|
||||
private boolean isReady;
|
||||
private String name;
|
||||
private String figure;
|
||||
private final boolean isReady;
|
||||
private final String name;
|
||||
private final String figure;
|
||||
private final int startMoney;
|
||||
|
||||
/**
|
||||
* Constructs a PlayerReady message.
|
||||
@ -15,10 +16,11 @@ public class PlayerReady extends ClientMessage {
|
||||
* @param name the name of the player
|
||||
* @param color the color of the player (can be null)
|
||||
*/
|
||||
public PlayerReady(boolean isReady, String name, String figure) {
|
||||
public PlayerReady(boolean isReady, String name, String figure, int startMoney) {
|
||||
this.isReady = isReady;
|
||||
this.name = name;
|
||||
this.figure = figure;
|
||||
this.startMoney = startMoney;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
@ -33,6 +35,10 @@ public class PlayerReady extends ClientMessage {
|
||||
return isReady;
|
||||
}
|
||||
|
||||
public int getStartMoney() {
|
||||
return startMoney;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept(ClientInterpreter interpreter, int from) {
|
||||
interpreter.received(this, from);
|
||||
|
Loading…
Reference in New Issue
Block a user