Merge pull request #97 from rubenpirreram/TUI-Fix

T UI fix
This commit is contained in:
rubenpirreram
2026-05-13 18:05:33 +02:00
committed by GitHub
5 changed files with 74 additions and 12 deletions
@@ -19,6 +19,7 @@ import it.polimi.ingsw.gc14.Model.GamePackage.GameStages;
import java.io.Serializable;
import java.util.*;
import java.util.random.RandomGenerator;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -61,11 +62,27 @@ public class Game implements Serializable {
}
player.totem=totem;
Player nextPlayer= totemChoiceQueue.poll();
if(nextPlayer==null)
{
currentState.GameStageUpdate(GameStages.SLOT_CHOICE);
currentState.PlayerUpdate(orderLogicCard.pull(),null);
}
else
{
while(disconnetedPlayers.containsKey(nextPlayer)&& disconnetedPlayers.get(nextPlayer))
{
nextPlayer.totem=getAvailableTotems().get(new Random().nextInt(getAvailableTotems().size()-1));
nextPlayer=totemChoiceQueue.poll();
if(nextPlayer==null)
{
currentState.GameStageUpdate(GameStages.SLOT_CHOICE);
currentState.PlayerUpdate(orderLogicCard.pull(),null);
return true;
}
}
currentState.PlayerUpdate(nextPlayer,null);
}
return true;
}
@@ -80,7 +97,20 @@ public class Game implements Serializable {
}
disconnetedPlayers.put(player,true);
if(currentState.getCurrentPlayer().equals(player))
nextPlayerSetup();
if(!currentState.getGameStage().equals(GameStages.TOTEM_CHOICE))
nextPlayerSetup();
else
{
if(totemChoiceQueue.isEmpty())
{
player.totem=getAvailableTotems().get(new Random().nextInt(getAvailableTotems().size()-1));
}
else {
totemChoiceQueue.add(player);
}
currentState.PlayerUpdate(totemChoiceQueue.poll(),null);
}
return true;
}
@@ -254,6 +254,9 @@ public class Player implements Serializable {
table.addHeader(this.getUserName());
table.addRow("RESOURCES:");
if(this.totem != null) {
table.addRow("Totem: " + this.totem.toString());
}
table.addRow("Food: " + this.getFoodValue());
table.addRow("Prestige: " + this.getPrestigeValue());
table.addSeparator();