Updated 'DetermineStartPlayerState' class.
Updated the 'DetermineStartPlayerState' class by updating the 'received(RequestDieMessage msg, int from)' method in it.
This commit is contained in:
		@@ -6,6 +6,7 @@
 | 
			
		||||
import pp.mdga.message.server.DiceNowMessage;
 | 
			
		||||
import pp.mdga.message.server.DieMessage;
 | 
			
		||||
import pp.mdga.message.server.EndOfTurnMessage;
 | 
			
		||||
import pp.mdga.message.server.RankingResponseMessage;
 | 
			
		||||
import pp.mdga.server.ServerGameLogic;
 | 
			
		||||
import pp.mdga.server.automaton.GameState;
 | 
			
		||||
 | 
			
		||||
@@ -26,6 +27,7 @@ public class DetermineStartPlayerState extends GameAutomatonState {
 | 
			
		||||
     * Create DetermineStartPlayerState attributes.
 | 
			
		||||
     */
 | 
			
		||||
    private Map<Integer, Integer> diceResults = new HashMap<>();
 | 
			
		||||
    private Map<Integer, Integer> rankedResults = new HashMap<>();
 | 
			
		||||
    private List<Integer> playersHaveToRoll = new ArrayList<>();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
@@ -50,6 +52,7 @@ public void enter() {
 | 
			
		||||
    public void exit() {
 | 
			
		||||
        LOGGER.log(System.Logger.Level.DEBUG, "Exited DetermineStartPlayerState state.");
 | 
			
		||||
        this.diceResults.clear();
 | 
			
		||||
        this.rankedResults.clear();
 | 
			
		||||
        this.playersHaveToRoll.clear();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -71,19 +74,25 @@ public void received(RequestDieMessage msg, int from) {
 | 
			
		||||
                if (maximumRoll <= entry.getValue()) {
 | 
			
		||||
                    maximumRoll = entry.getValue();
 | 
			
		||||
                } else {
 | 
			
		||||
                    this.rankedResults.put(entry.getKey(), entry.getValue());
 | 
			
		||||
                    this.playersHaveToRoll.remove(entry.getKey());
 | 
			
		||||
                    this.logic.getServerSender().send(entry.getKey(), new EndOfTurnMessage());
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            for (Map.Entry<Integer, Integer> entry: this.rankedResults.entrySet()) {
 | 
			
		||||
                System.out.println("[SERVER] Player: %s rolled a %d".formatted(this.logic.getGame().getPlayerById(entry.getKey()).getName(), entry.getKey()));
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (this.playersHaveToRoll.size() == 1) {
 | 
			
		||||
                this.logic.getServerSender().broadcast(new RankingResponseMessage(this.rankedResults));
 | 
			
		||||
                this.logic.getServerSender().broadcast(new ActivePlayerMessage(this.logic.getGame().getPlayerById(this.playersHaveToRoll.get(0)).getColor()));
 | 
			
		||||
                this.gameAutomaton.setCurrentState(this.gameAutomaton.getAnimationState());
 | 
			
		||||
            } else {
 | 
			
		||||
                for (Integer id: this.playersHaveToRoll) {
 | 
			
		||||
                    this.logic.getServerSender().send(id, new DiceNowMessage());
 | 
			
		||||
                }
 | 
			
		||||
                diceResults.clear();
 | 
			
		||||
                this.diceResults.clear();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user