From a0e19dba9c21e9d8e9c26a9db48c87b39656df9a Mon Sep 17 00:00:00 2001 From: rubenpirreram Date: Fri, 15 May 2026 17:36:19 +0200 Subject: [PATCH] Add: Game.EndGameForFeit and Players Standing --- .../java/it/polimi/ingsw/gc14/Model/Game.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Game.java b/src/main/java/it/polimi/ingsw/gc14/Model/Game.java index e3e5bec..aaf68e6 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Game.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Game.java @@ -29,6 +29,11 @@ import java.util.stream.Stream; */ public class Game implements Serializable { + + private ArrayList playerStanding; + public List getPlayerStanding() { + return playerStanding; + } /** * Returns the list of players participating in the game. * @@ -950,6 +955,9 @@ public class Game implements Serializable { forEach(x -> x.applyEffect(p)) ); currentState.GameStageUpdate(GameStages.ENDED); + playerStanding=new ArrayList<>(playersList); + playersList.sort((x,y)->x.getPrestigeValue()==y.getPrestigeValue()?Integer.compare(x.getFoodValue(),y.getFoodValue()):Integer.compare(x.getPrestigeValue(),y.getPrestigeValue())); + } /** @@ -984,5 +992,13 @@ public class Game implements Serializable { return true; } + public void EndGameForFeit(Player winner) { + currentState.GameStageUpdate(GameStages.ENDED); + playerStanding=new ArrayList<>(playersList); + playerStanding.remove(winner); + playersList.sort((x,y)->x.getPrestigeValue()==y.getPrestigeValue()?Integer.compare(x.getFoodValue(),y.getFoodValue()):Integer.compare(x.getPrestigeValue(),y.getPrestigeValue())); + playersList.addLast(winner); + } + }