Add: Slot toStringTUI
This commit is contained in:
@@ -18,6 +18,9 @@ import java.io.Serializable;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import it.polimi.ingsw.gc14.Network.Observer;
|
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.
|
* Represents the main game model.
|
||||||
* A Game object stores the players, the current state of the match,
|
* A Game object stores the players, the current state of the match,
|
||||||
@@ -36,6 +39,15 @@ public class Game implements Serializable {
|
|||||||
o.update(this);
|
o.update(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the list of players participating in the game.
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<Player> getPlayers() {
|
||||||
|
return playersList;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The current number of players.
|
* The current number of players.
|
||||||
*/
|
*/
|
||||||
@@ -691,4 +703,22 @@ public class Game implements Serializable {
|
|||||||
return true;
|
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
|
@Override
|
||||||
public String toString() {
|
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
|
// End Constructors
|
||||||
|
|||||||
@@ -141,9 +141,12 @@ class GameTest {
|
|||||||
countCards++;
|
countCards++;
|
||||||
}
|
}
|
||||||
cards=game.getUpperListTribeCards();
|
cards=game.getUpperListTribeCards();
|
||||||
|
try {
|
||||||
index = cards.indexOf(cards.stream().filter(TribeCard::IsEventCard).findFirst().get());
|
index = cards.indexOf(cards.stream().filter(TribeCard::IsEventCard).findFirst().get());
|
||||||
assertFalse(game.DrawUpperTribeCardByIndex(temp_player, index));
|
assertFalse(game.DrawUpperTribeCardByIndex(temp_player, index));
|
||||||
|
}catch (Exception e) {
|
||||||
|
|
||||||
|
}
|
||||||
//index=cards.indexOf(cards.stream().filter(x->!x.IsEventCard()).findFirst().get());
|
//index=cards.indexOf(cards.stream().filter(x->!x.IsEventCard()).findFirst().get());
|
||||||
//assertTrue(game.DrawUpperTribeCardByIndex(temp_player,index));
|
//assertTrue(game.DrawUpperTribeCardByIndex(temp_player,index));
|
||||||
List<BuildingCard> buildings=game.getUpperListBuilding();
|
List<BuildingCard> buildings=game.getUpperListBuilding();
|
||||||
@@ -195,4 +198,27 @@ class GameTest {
|
|||||||
@Test
|
@Test
|
||||||
void noOptionalCard() {
|
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.getNLower());
|
||||||
assertEquals(0, s.getNUpper());
|
assertEquals(0, s.getNUpper());
|
||||||
assertEquals(5, s.getNMinPlayer());
|
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
|
@Test
|
||||||
@@ -59,7 +60,8 @@ class SlotTest {
|
|||||||
assertEquals(1, s.getNLower());
|
assertEquals(1, s.getNLower());
|
||||||
assertEquals(0, s.getNUpper());
|
assertEquals(0, s.getNUpper());
|
||||||
assertEquals(0, s.getNMinPlayer());
|
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
|
@Test
|
||||||
@@ -72,8 +74,8 @@ class SlotTest {
|
|||||||
assertEquals(0, s.getNLower());
|
assertEquals(0, s.getNLower());
|
||||||
assertEquals(1, s.getNUpper());
|
assertEquals(1, s.getNUpper());
|
||||||
assertEquals(0, s.getNMinPlayer());
|
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
|
@Test
|
||||||
void SlotIdD() {
|
void SlotIdD() {
|
||||||
@@ -85,7 +87,8 @@ class SlotTest {
|
|||||||
assertEquals(2, s.getNLower());
|
assertEquals(2, s.getNLower());
|
||||||
assertEquals(0, s.getNUpper());
|
assertEquals(0, s.getNUpper());
|
||||||
assertEquals(3, s.getNMinPlayer());
|
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
|
@Test
|
||||||
@@ -98,7 +101,8 @@ class SlotTest {
|
|||||||
assertEquals(1, s.getNLower());
|
assertEquals(1, s.getNLower());
|
||||||
assertEquals(1, s.getNUpper());
|
assertEquals(1, s.getNUpper());
|
||||||
assertEquals(0, s.getNMinPlayer());
|
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
|
@Test
|
||||||
@@ -111,7 +115,8 @@ class SlotTest {
|
|||||||
assertEquals(0, s.getNLower());
|
assertEquals(0, s.getNLower());
|
||||||
assertEquals(2, s.getNUpper());
|
assertEquals(2, s.getNUpper());
|
||||||
assertEquals(0, s.getNMinPlayer());
|
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
|
@Test
|
||||||
@@ -124,6 +129,7 @@ class SlotTest {
|
|||||||
assertEquals(1, s.getNLower());
|
assertEquals(1, s.getNLower());
|
||||||
assertEquals(2, s.getNUpper());
|
assertEquals(2, s.getNUpper());
|
||||||
assertEquals(4, s.getNMinPlayer());
|
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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user