Add: Slot toStringTUI

This commit is contained in:
rubenpirreram
2026-04-26 17:51:52 +02:00
parent 7da3b1f0d9
commit 0acf76dcb9
4 changed files with 91 additions and 11 deletions
@@ -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<Player> 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<String> stringUp=new ArrayList<>();
List<String> stringDown=new ArrayList<>();
for(Map.Entry<Slot,Player> 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();
}
}
@@ -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<this.getNUpper();i++)
{
s.append("");
}
for(int i=0;i<this.getNLower();i++)
{
s.append("");
}
if(getFood()!=0)
s.append("+"+getFood()+" Food");
return s.toString();
}
// End Constructors
@@ -141,9 +141,12 @@ class GameTest {
countCards++;
}
cards=game.getUpperListTribeCards();
try {
index = cards.indexOf(cards.stream().filter(TribeCard::IsEventCard).findFirst().get());
assertFalse(game.DrawUpperTribeCardByIndex(temp_player, index));
}catch (Exception e) {
index=cards.indexOf(cards.stream().filter(TribeCard::IsEventCard).findFirst().get());
assertFalse(game.DrawUpperTribeCardByIndex(temp_player,index));
}
//index=cards.indexOf(cards.stream().filter(x->!x.IsEventCard()).findFirst().get());
//assertTrue(game.DrawUpperTribeCardByIndex(temp_player,index));
List<BuildingCard> 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));
Queue<Player>players=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);
}
}
@@ -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());
}
}