From 2da1fec7ddfd38ba531dd69a6bba69593b61d758 Mon Sep 17 00:00:00 2001 From: Daniel Grigencha Date: Thu, 5 Dec 2024 22:01:05 +0100 Subject: [PATCH] Updated 'RankingResponseMessage' class. Updated the 'RankingResponseMessage' class by removing the 'startingPlayerId' attribute and its getter method from it. In Addition the 'rankingResults' attribute and its getter method were added. --- .../server/RankingResponseMessage.java | 46 +++++++++++++------ 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingResponseMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingResponseMessage.java index 604b1d89..c0233ef8 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingResponseMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingResponseMessage.java @@ -2,37 +2,45 @@ import com.jme3.network.serializing.Serializable; +import java.util.HashMap; +import java.util.Map; + /** * A message sent by the server to all client to inform them about the current ranking. (only in DetermineStartPlayer) */ @Serializable public class RankingResponseMessage extends ServerMessage { - - private final int startingPlayerId; - /** - * Constructs a new RankingResponse instance. + * Create RankingResponseMessage attributes. */ - public RankingResponseMessage(int startingPlayerId) { - super(); - this.startingPlayerId = startingPlayerId; - } + private final Map rankingResults; /** - * Constructs a new RankingResponse instance. + * Constructor. */ public RankingResponseMessage() { super(); - this.startingPlayerId = 0; + this.rankingResults = new HashMap(); } /** - * The id of the starting Player. + * Constructor. * - * @return the id of the starting player as an int + * @param rankingResults as the results of all players after the start player was determined as a Map combining + * Integers and Integers. */ - public int getStartingPlayerId() { - return startingPlayerId; + public RankingResponseMessage(Map rankingResults) { + super(); + this.rankingResults = rankingResults; + } + + /** + * This method will be used to return rankingResults attribute of RankingResponseMessage class. + * + * @return rankingResults as a Map combining Integers and Integers. + */ + public Map getRankingResults() { + return this.rankingResults; } /** @@ -52,6 +60,14 @@ public void accept(ServerInterpreter interpreter) { */ @Override public String toString() { - return "RankingResponseMessage{" + "startingPlayerId=" + startingPlayerId + '}'; + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("RankingResponseMessage{"); + for (Map.Entry entry : this.rankingResults.entrySet()) { + stringBuilder.append("Player with ID: ").append(entry.getKey()).append(" rolled: ").append(entry.getValue()).append(", "); + } + stringBuilder.deleteCharAt(stringBuilder.length() - 1); + stringBuilder.deleteCharAt(stringBuilder.length() - 1); + stringBuilder.append("}"); + return stringBuilder.toString(); } }