From 1d68b3acfa9f62c286c11227f3400c7ef057b25e Mon Sep 17 00:00:00 2001 From: rubenpirreram Date: Wed, 29 Apr 2026 15:47:01 +0200 Subject: [PATCH] Fix:Game Automatic Slot --- .../java/it/polimi/ingsw/gc14/Model/Game.java | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) 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 58c09ce..a7f5609 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Game.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Game.java @@ -301,10 +301,9 @@ public class Game implements Serializable { tempCard.insert(player); board.removeUpperTribeCard(tempCard); currentState.UpperDrawn(); - if(currentState.getNUpper() ==0 && currentState.getNLower() ==0) + if((currentState.getNLower() ==0 ||( getLowerListTribeCards().size()==0 && getLowerListBuilding().size()==0)) && ((currentState.getNUpper() ==0)||( getUpperListTribeCards().size()==0 && getUpperListBuilding().size()==0))) nextPlayerSetup(); return true; - } /** @@ -343,7 +342,7 @@ public class Game implements Serializable { tempCard.insert(player); board.removeLowerTribeCard(tempCard); currentState.LowerDrawn(); - if(currentState.getNLower() ==0 && currentState.getNUpper() ==0) + if((currentState.getNLower() ==0 ||( getLowerListTribeCards().size()==0 && getLowerListBuilding().size()==0)) && ((currentState.getNUpper() ==0)||( getUpperListTribeCards().size()==0 && getUpperListBuilding().size()==0))) nextPlayerSetup(); return true; @@ -382,7 +381,7 @@ public class Game implements Serializable { } else return false; - if(currentState.getNLower() ==0 && currentState.getNUpper() ==0) + if((currentState.getNLower() ==0 ||( getLowerListTribeCards().size()==0 && getLowerListBuilding().size()==0)) && ((currentState.getNUpper() ==0)||( getUpperListTribeCards().size()==0 && getUpperListBuilding().size()==0))) nextPlayerSetup(); return true; @@ -422,7 +421,7 @@ public class Game implements Serializable { } else return false; - if(currentState.getNLower() ==0 && currentState.getNUpper() ==0) + if((currentState.getNLower() ==0 ||( getLowerListTribeCards().size()==0 && getLowerListBuilding().size()==0)) && ((currentState.getNUpper() ==0)||( getUpperListTribeCards().size()==0 && getUpperListBuilding().size()==0))) nextPlayerSetup(); return true; @@ -555,10 +554,16 @@ public class Game implements Serializable { return; } currentState.GameStageUpdate(GameStages.RESOLVING_ACTIONS); - for (Map.Entry s : slotMap.entrySet()) { - if (s.getValue()!=null) { - currentState.PlayerUpdate(s.getValue(), s.getKey()); - return; + for (Slot s : slotMap.keySet()) { + if (slotMap.get(s) != null) { + currentState.PlayerUpdate(slotMap.get(s), s); + if(!((currentState.getNLower() ==0 ||( getLowerListTribeCards().size()==0 && getLowerListBuilding().size()==0)) && ((currentState.getNUpper() ==0)||( getUpperListTribeCards().size()==0 && getUpperListBuilding().size()==0)))) + break; + else + { + orderLogicCard.push(currentState.getCurrentPlayer()); + slotMap.put(currentState.getSlot(), null); + } } } return; @@ -570,7 +575,15 @@ public class Game implements Serializable { for (Slot s : slotMap.keySet()) { if (slotMap.get(s) != null) { currentState.PlayerUpdate(slotMap.get(s), s); - break; + if((currentState.getNLower() ==0 ||( getLowerListTribeCards().size()==0 && getLowerListBuilding().size()==0)) && ((currentState.getNUpper() ==0)||( getUpperListTribeCards().size()==0 && getUpperListBuilding().size()==0))) { + orderLogicCard.push(currentState.getCurrentPlayer()); + + slotMap.put(currentState.getSlot(), null); + } + else + { + break; + } } } if(slotMap.values().stream().allMatch(v -> v == null))