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 4da7f49..cf2a8f4 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Game.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Game.java @@ -18,6 +18,9 @@ import java.io.Serializable; import java.util.*; import java.util.stream.Collectors; import it.polimi.ingsw.gc14.Network.Observer; +import it.polimi.ingsw.gc14.View.TUI.AsciiTable; +import it.polimi.ingsw.gc14.View.TUI.BorderStyle; + /** * Represents the main game model. * A Game object stores the players, the current state of the match, @@ -36,6 +39,15 @@ public class Game implements Serializable { o.update(this); } } + + /** + * Returns the list of players participating in the game. + * @return + */ + public List getPlayers() { + return playersList; + } + /** * The current number of players. */ @@ -691,4 +703,22 @@ public class Game implements Serializable { return true; } + @Override + public String toString() { + var table = new AsciiTable(BorderStyle.UNICODE, slotMap.size()); + List stringUp=new ArrayList<>(); + List stringDown=new ArrayList<>(); + for(Map.Entry entry:slotMap.entrySet()) + { + + stringDown.add(entry.getKey().toStringTUI()); + if(entry.getValue()!=null) + stringUp.add(entry.getValue().getUserName()); + else + stringUp.add(" "); + } + table.addRow(stringUp); + table.addRow(stringDown); + return orderLogicCard.toString()+"\nOFFER TRACK\n"+ table.build(); + } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Slot.java b/src/main/java/it/polimi/ingsw/gc14/Model/Slot.java index 5cc2f2f..456ee1a 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Slot.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Slot.java @@ -152,7 +152,25 @@ public class Slot implements Serializable { */ @Override public String toString() { - return ("SlotID: "+this.getSlotId()+"\nNUpper: "+this.getNUpper()+"\nNLower: "+this.getNLower()+"\nFood: "+this.getFood()+"\nNMinPlayer: "+this.getNMinPlayer()+"\n"); + return ("SlotID: "+this.getSlotId()+"\nNUpper: "+this.getNUpper()+"\nNLower: "+this.getNLower()+"\nFood: "+this.getFood()+"\n"); + } + + + public String toStringTUI() + { + StringBuilder s = new StringBuilder(); + s.append(this.getSlotId()+" "); + for(int i=0;i!x.IsEventCard()).findFirst().get()); //assertTrue(game.DrawUpperTribeCardByIndex(temp_player,index)); List buildings=game.getUpperListBuilding(); @@ -195,4 +198,27 @@ class GameTest { @Test void noOptionalCard() { } + @Test + void toStringModel() + { + Game game=new Game(5); + Player p1=new Player("p1"); + Player p2=new Player("p2"); + Player p3=new Player("p3"); + Player p4=new Player("p4"); + Player p5=new Player("p5"); + + assertTrue(game.addPlayer(p1)); + assertTrue(game.addPlayer(p2)); + assertTrue(game.addPlayer(p3)); + assertTrue(game.addPlayer(p4)); + assertTrue(game.addPlayer(p5)); + + Queueplayers=new LinkedList<>(); + for(int i=0;i<5;i++) { + players.add( game.getCurrentState().getCurrentPlayer()); + assertTrue(game.SlotChoiceByIndex(game.getCurrentState().getCurrentPlayer(), i)); + } + System.out.println(game); + } } \ No newline at end of file diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/SlotTest.java b/src/test/java/it/polimi/ingsw/gc14/Model/SlotTest.java index 5d44ca9..ca32b35 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/SlotTest.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/SlotTest.java @@ -46,7 +46,8 @@ class SlotTest { assertEquals(0, s.getNLower()); assertEquals(0, s.getNUpper()); assertEquals(5, s.getNMinPlayer()); - assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\nNMinPlayer: "+s.getNMinPlayer()+"\n", s.toString()); + System.out.println(s); + assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\n", s.toString()); } @Test @@ -59,7 +60,8 @@ class SlotTest { assertEquals(1, s.getNLower()); assertEquals(0, s.getNUpper()); assertEquals(0, s.getNMinPlayer()); - assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\nNMinPlayer: "+s.getNMinPlayer()+"\n", s.toString()); + System.out.println(s); + assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\n", s.toString()); } @Test @@ -72,8 +74,8 @@ class SlotTest { assertEquals(0, s.getNLower()); assertEquals(1, s.getNUpper()); assertEquals(0, s.getNMinPlayer()); - assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\nNMinPlayer: "+s.getNMinPlayer()+"\n", s.toString()); - } + System.out.println(s); + assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\n", s.toString()); } @Test void SlotIdD() { @@ -85,7 +87,8 @@ class SlotTest { assertEquals(2, s.getNLower()); assertEquals(0, s.getNUpper()); assertEquals(3, s.getNMinPlayer()); - assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\nNMinPlayer: "+s.getNMinPlayer()+"\n", s.toString()); + System.out.println(s); + assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\n", s.toString()); } @Test @@ -98,7 +101,8 @@ class SlotTest { assertEquals(1, s.getNLower()); assertEquals(1, s.getNUpper()); assertEquals(0, s.getNMinPlayer()); - assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\nNMinPlayer: "+s.getNMinPlayer()+"\n", s.toString()); + System.out.println(s); + assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\n", s.toString()); } @Test @@ -111,7 +115,8 @@ class SlotTest { assertEquals(0, s.getNLower()); assertEquals(2, s.getNUpper()); assertEquals(0, s.getNMinPlayer()); - assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\nNMinPlayer: "+s.getNMinPlayer()+"\n", s.toString()); + System.out.println(s); + assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\n", s.toString()); } @Test @@ -124,6 +129,7 @@ class SlotTest { assertEquals(1, s.getNLower()); assertEquals(2, s.getNUpper()); assertEquals(4, s.getNMinPlayer()); - assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\nNMinPlayer: "+s.getNMinPlayer()+"\n", s.toString()); + System.out.println(s); + assertEquals("SlotID: "+slotID+"\nNUpper: "+s.getNUpper()+"\nNLower: "+s.getNLower()+"\nFood: "+s.getFood()+"\n", s.toString()); } } \ No newline at end of file