Add: Order To String

This commit is contained in:
rubenpirreram
2026-04-26 16:34:31 +02:00
parent 79aaaf6f33
commit 5aeefa72bb
9 changed files with 218 additions and 32 deletions
@@ -2,8 +2,11 @@ package it.polimi.ingsw.gc14.Model.Orders;
import it.polimi.ingsw.gc14.Model.OrderLogicCard;
import it.polimi.ingsw.gc14.Model.Player;
import it.polimi.ingsw.gc14.View.TUI.AsciiTable;
import it.polimi.ingsw.gc14.View.TUI.BorderStyle;
import java.util.*;
import java.util.stream.IntStream;
public class Order2 extends OrderLogicCard {
@@ -49,4 +52,35 @@ public class Order2 extends OrderLogicCard {
}
}
}
@Override
public String toString()
{
var table = new AsciiTable(BorderStyle.UNICODE, 2);
List<String> stringUp=new ArrayList<>();
List<String> stringDown=new ArrayList<>();
for(int i=0;i<2;i++)
{
try {
playerList.get(i);
stringUp.add(i+". "+playerList.get(i).player.getUserName());
if(playerList.get(i).played)
stringDown.add(" Placed");
else
stringDown.add(" Not Placed");
}
catch (IndexOutOfBoundsException e) {
stringUp.add("");
stringDown.add("");
}
}
table.addRow(stringUp);
table.addRow(stringDown);
List<String> stringList=new ArrayList<>();
stringList.add("+1 Food");
stringList.add("-1 Food / -2 Prestige");
table.addRow(stringList);
return "TURN ORDER\n" + table.build() + "\n";
}
}
@@ -57,21 +57,29 @@ public class Order3 extends OrderLogicCard {
{
var table = new AsciiTable(BorderStyle.UNICODE, 3);
List<Player> tempPlayer=new ArrayList<>(players);
List<String> stringList=new ArrayList<>();
List<String> stringUp=new ArrayList<>();
List<String> stringDown=new ArrayList<>();
for(int i=0;i<3;i++)
{
try {
tempPlayer.get(i);
stringList.add(i+". "+tempPlayer.get(i).getUserName());
playerList.get(i);
stringUp.add(i+". "+playerList.get(i).player.getUserName());
if(playerList.get(i).played)
stringDown.add(" Placed");
else
stringDown.add(" Not Placed");
}
catch (IndexOutOfBoundsException e) {
stringList.add(i+". ");
stringUp.add("");
stringDown.add("");
}
}
table.addRow(stringList);
stringList=new ArrayList<>();
table.addRow(stringUp);
table.addRow(stringDown);
List<String> stringList=new ArrayList<>();
stringList.add("+2 Food");
stringList.add(" --");
stringList.add("-1 Food / -2 Prestige");
@@ -2,8 +2,11 @@ package it.polimi.ingsw.gc14.Model.Orders;
import it.polimi.ingsw.gc14.Model.OrderLogicCard;
import it.polimi.ingsw.gc14.Model.Player;
import it.polimi.ingsw.gc14.View.TUI.AsciiTable;
import it.polimi.ingsw.gc14.View.TUI.BorderStyle;
import java.util.ArrayList;
import java.util.List;
import java.util.NoSuchElementException;
public class Order4 extends OrderLogicCard {
@@ -57,4 +60,37 @@ public class Order4 extends OrderLogicCard {
}
}
}
@Override
public String toString()
{
var table = new AsciiTable(BorderStyle.UNICODE, 4);
List<String> stringUp=new ArrayList<>();
List<String> stringDown=new ArrayList<>();
for(int i=0;i<4;i++)
{
try {
playerList.get(i);
stringUp.add(i+". "+playerList.get(i).player.getUserName());
if(playerList.get(i).played)
stringDown.add(" Placed");
else
stringDown.add(" Not Placed");
}
catch (IndexOutOfBoundsException e) {
stringUp.add("");
stringDown.add("");
}
}
table.addRow(stringUp);
table.addRow(stringDown);
List<String> stringList=new ArrayList<>();
stringList.add("+2 Food");
stringList.add("+1 Food");
stringList.add(" --");
stringList.add("-1 Food / -2 Prestige");
table.addRow(stringList);
return "TURN ORDER\n" + table.build() + "\n";
}
}
@@ -2,8 +2,11 @@ package it.polimi.ingsw.gc14.Model.Orders;
import it.polimi.ingsw.gc14.Model.OrderLogicCard;
import it.polimi.ingsw.gc14.Model.Player;
import it.polimi.ingsw.gc14.View.TUI.AsciiTable;
import it.polimi.ingsw.gc14.View.TUI.BorderStyle;
import java.util.ArrayList;
import java.util.List;
import java.util.NoSuchElementException;
public class Order5 extends OrderLogicCard {
@@ -58,4 +61,38 @@ public class Order5 extends OrderLogicCard {
}
}
}
@Override
public String toString()
{
var table = new AsciiTable(BorderStyle.UNICODE, 5);
List<String> stringUp=new ArrayList<>();
List<String> stringDown=new ArrayList<>();
for(int i=0;i<5;i++)
{
try {
playerList.get(i);
stringUp.add(i+". "+playerList.get(i).player.getUserName());
if(playerList.get(i).played)
stringDown.add(" Placed");
else
stringDown.add(" Not Placed");
}
catch (IndexOutOfBoundsException e) {
stringUp.add("");
stringDown.add("");
}
}
table.addRow(stringUp);
table.addRow(stringDown);
List<String> stringList=new ArrayList<>();
stringList.add("+3 Food");
stringList.add("+1 Food");
stringList.add(" --");
stringList.add(" --");
stringList.add("-1 Food / -2 Prestige");
table.addRow(stringList);
return "TURN ORDER\n" + table.build() + "\n";
}
}
@@ -0,0 +1,21 @@
package it.polimi.ingsw.gc14.Model.Orders;
import it.polimi.ingsw.gc14.Model.Player;
/**
* Abstract base class for all order logic cards.
* An OrderLogicCard manages a queue of players and defines the effects
* applied when players are pushed back into the queue.
*/
public class OrderPlayer{
public Player player;
public boolean played;
public OrderPlayer(Player player,boolean played){
this.player=player;
this.played=played;
}
@Override
public String toString() {
return player.getUserName()+" "+played;
}
}