Add: Game.EndGameForFeit and Players Standing

This commit is contained in:
rubenpirreram
2026-05-15 17:36:19 +02:00
parent 2c65ce0aa7
commit a0e19dba9c
@@ -29,6 +29,11 @@ import java.util.stream.Stream;
*/ */
public class Game implements Serializable { public class Game implements Serializable {
private ArrayList<Player> playerStanding;
public List<Player> getPlayerStanding() {
return playerStanding;
}
/** /**
* Returns the list of players participating in the game. * Returns the list of players participating in the game.
* *
@@ -950,6 +955,9 @@ public class Game implements Serializable {
forEach(x -> x.applyEffect(p)) forEach(x -> x.applyEffect(p))
); );
currentState.GameStageUpdate(GameStages.ENDED); 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; 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);
}
} }