Update: TUI totem choice impl
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user