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); + } + }