Add: Order To String
This commit is contained in:
@@ -2,8 +2,11 @@ package it.polimi.ingsw.gc14.Model.Orders;
|
|||||||
|
|
||||||
import it.polimi.ingsw.gc14.Model.OrderLogicCard;
|
import it.polimi.ingsw.gc14.Model.OrderLogicCard;
|
||||||
import it.polimi.ingsw.gc14.Model.Player;
|
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.*;
|
||||||
|
import java.util.stream.IntStream;
|
||||||
|
|
||||||
public class Order2 extends OrderLogicCard {
|
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);
|
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++)
|
for(int i=0;i<3;i++)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
tempPlayer.get(i);
|
playerList.get(i);
|
||||||
stringList.add(i+". "+tempPlayer.get(i).getUserName());
|
stringUp.add(i+". "+playerList.get(i).player.getUserName());
|
||||||
|
if(playerList.get(i).played)
|
||||||
|
stringDown.add(" Placed");
|
||||||
|
else
|
||||||
|
stringDown.add(" Not Placed");
|
||||||
}
|
}
|
||||||
catch (IndexOutOfBoundsException e) {
|
catch (IndexOutOfBoundsException e) {
|
||||||
stringList.add(i+". ");
|
stringUp.add("");
|
||||||
|
stringDown.add("");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
table.addRow(stringList);
|
table.addRow(stringUp);
|
||||||
stringList=new ArrayList<>();
|
table.addRow(stringDown);
|
||||||
|
|
||||||
|
List<String> stringList=new ArrayList<>();
|
||||||
|
|
||||||
stringList.add("+2 Food");
|
stringList.add("+2 Food");
|
||||||
stringList.add(" --");
|
stringList.add(" --");
|
||||||
stringList.add("-1 Food / -2 Prestige");
|
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.OrderLogicCard;
|
||||||
import it.polimi.ingsw.gc14.Model.Player;
|
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.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
|
|
||||||
public class Order4 extends OrderLogicCard {
|
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.OrderLogicCard;
|
||||||
import it.polimi.ingsw.gc14.Model.Player;
|
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.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
|
|
||||||
public class Order5 extends OrderLogicCard {
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,9 +4,10 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
|
|||||||
import it.polimi.ingsw.gc14.Model.Player;
|
import it.polimi.ingsw.gc14.Model.Player;
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
import java.lang.reflect.Field;
|
||||||
import java.util.NoSuchElementException;
|
import java.util.*;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
class Order2Test {
|
class Order2Test {
|
||||||
@@ -154,4 +155,16 @@ class Order2Test {
|
|||||||
assertEquals(p1, order.getFirst());
|
assertEquals(p1, order.getFirst());
|
||||||
assertEquals(p1, order.getFirst());
|
assertEquals(p1, order.getFirst());
|
||||||
}
|
}
|
||||||
|
@Test
|
||||||
|
void toStringTest() throws NoSuchFieldException, IllegalAccessException {
|
||||||
|
Player p1 = new Player("wPIshEUhiOpRRnIBFfM89s2$@q$9FGbz");
|
||||||
|
Player p2 = new Player("L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk");
|
||||||
|
Order2 order = new Order2(new ArrayList<>(Arrays.asList(p1, p2)));
|
||||||
|
order.pull();
|
||||||
|
order.pull();
|
||||||
|
order.push(p2);
|
||||||
|
order.push(p1);
|
||||||
|
order.pull().getUserName();
|
||||||
|
System.out.println(order);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -4,9 +4,10 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
|
|||||||
import it.polimi.ingsw.gc14.Model.Player;
|
import it.polimi.ingsw.gc14.Model.Player;
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
import java.lang.reflect.Field;
|
||||||
import java.util.NoSuchElementException;
|
import java.util.*;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
class Order3Test {
|
class Order3Test {
|
||||||
@@ -206,5 +207,30 @@ class Order3Test {
|
|||||||
assertEquals(p1, order.getFirst());
|
assertEquals(p1, order.getFirst());
|
||||||
assertEquals(p1, order.getFirst());
|
assertEquals(p1, order.getFirst());
|
||||||
}
|
}
|
||||||
|
@Test
|
||||||
|
void toStringTest() throws NoSuchFieldException, IllegalAccessException {
|
||||||
|
Player p1 = new Player("wPIshEUhiOpRRnIBFfM89s2$@q$9FGbz");
|
||||||
|
Player p2 = new Player("L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk");
|
||||||
|
Player p3 = new Player("L*Ncw1ryyrF2xn%H@4P1iC@&NNIooQQk");
|
||||||
|
Order3 order = new Order3(new ArrayList<>(Arrays.asList(p1, p2,p3)));
|
||||||
|
Field field = Order3.class.getSuperclass().getDeclaredField("playerList");
|
||||||
|
field.setAccessible(true);
|
||||||
|
List<OrderPlayer> values =(ArrayList<OrderPlayer>)field.get(order);
|
||||||
|
|
||||||
|
String userPulled=order.pull().getUserName();
|
||||||
|
userPulled=order.pull().getUserName();
|
||||||
|
userPulled=order.pull().getUserName();
|
||||||
|
|
||||||
|
System.out.println(values);
|
||||||
|
order.push(p1);
|
||||||
|
order.push(p2);
|
||||||
|
values =(ArrayList<OrderPlayer>)field.get(order);
|
||||||
|
System.out.println(order);
|
||||||
|
// assertEquals("TURN ORDER\n" +
|
||||||
|
// "╔════════════════════════════════════╦════════════════════════════════════╦════════════════════════════════════╗\n" +
|
||||||
|
// "║ 0. ║ 1. "+values.get(1).getUserName() +"║ 2. "+values.get(2).getUserName()+"║\n" +
|
||||||
|
// "║ +2 Food ║ -- ║ -1 Food / -2 Prestige ║\n"+
|
||||||
|
// "╚════════════════════════════════════╩════════════════════════════════════╩════════════════════════════════════╝\n", order.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,9 +4,10 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
|
|||||||
import it.polimi.ingsw.gc14.Model.Player;
|
import it.polimi.ingsw.gc14.Model.Player;
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
import java.lang.reflect.Field;
|
||||||
import java.util.NoSuchElementException;
|
import java.util.*;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
class Order4Test {
|
class Order4Test {
|
||||||
@@ -272,22 +273,14 @@ class Order4Test {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void getFirst() {
|
void toStringTest() throws NoSuchFieldException, IllegalAccessException {
|
||||||
Player p1 = new Player("p1");
|
Player p1 = new Player("wPIshNQhiOpRRnIBFfM89s2$@q$9FGbz");
|
||||||
Player p2 = new Player("p2");
|
Player p2 = new Player("L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk");
|
||||||
Player p3 = new Player("p3");
|
Player p3 = new Player("wPIshEUhiOpRRnIBFfM89s2$@q$9FGbz");
|
||||||
Player p4 = new Player("p4");
|
Player p4 = new Player("wPIshOThiOpRRnIBFfM89s2$@q$9FGbz");
|
||||||
Order4 order = new Order4(new ArrayList<>(Arrays.asList(p1, p2, p3, p4)));
|
Order4 order = new Order4(new ArrayList<>(Arrays.asList(p1, p2,p3,p4)));
|
||||||
|
String userPulled=order.pull().getUserName();
|
||||||
|
System.out.println(order);
|
||||||
|
|
||||||
order.pull();
|
|
||||||
order.pull();
|
|
||||||
order.pull();
|
|
||||||
order.pull();
|
|
||||||
assertNull(order.getFirst());
|
|
||||||
|
|
||||||
order.push(p1);
|
|
||||||
|
|
||||||
assertEquals(p1, order.getFirst());
|
|
||||||
assertEquals(p1, order.getFirst());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,6 +5,7 @@ import it.polimi.ingsw.gc14.Model.Player;
|
|||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.lang.reflect.Field;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
@@ -364,6 +365,23 @@ class Order5Test {
|
|||||||
assertEquals(p1, order.getFirst());
|
assertEquals(p1, order.getFirst());
|
||||||
assertEquals(p1, order.getFirst());
|
assertEquals(p1, order.getFirst());
|
||||||
}
|
}
|
||||||
|
@Test
|
||||||
|
void toStringTest() throws NoSuchFieldException, IllegalAccessException {
|
||||||
|
Player p1 = new Player("wPIshUEhiOpRRnIBFfM89s2$@q$9FGbz");
|
||||||
|
Player p2 = new Player("L*Ncw1rjjrF2xn%H@4P1iC@&NNIooQQk");
|
||||||
|
Player p3 = new Player("wPIshOUhiOpRRnIBFfM89s2$@q$9FGbz");
|
||||||
|
Player p4 = new Player("wPIshNUhiOpRRnIBFfM89s2$@q$9FGbz");
|
||||||
|
Player p5 = new Player("wPIshKUhiOpRRnIBFfM89s2$@q$9FGbz");
|
||||||
|
Order5 order = new Order5(new ArrayList<>(Arrays.asList(p1, p2,p3,p4,p5)));
|
||||||
|
order.pull();
|
||||||
|
order.pull();
|
||||||
|
order.pull();
|
||||||
|
order.pull();
|
||||||
|
order.pull();
|
||||||
|
order.push(p1);
|
||||||
|
System.out.println(order);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user