From 1a69fade7c3c21bba9bf68994196f6fc046e9886 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Sat, 25 Apr 2026 16:38:13 +0200 Subject: [PATCH 1/7] Fix: Test Commit. --- .../gc14/Model/Cards/Building/Effects/Building0Test.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0Test.java b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0Test.java index 5420c00..effb1df 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0Test.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0Test.java @@ -143,8 +143,4 @@ class Building0Test { b0.buy(p1); assertFalse(b0.buy(p2)); } - - - - } \ No newline at end of file From 7f5899432634e7bcc3672caa592a8924663b2251 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Sat, 25 Apr 2026 17:07:34 +0200 Subject: [PATCH 2/7] Add: Added "toString" Method And Relevant Test In Building1.java And Building1Test.java. --- .../Cards/Building/Effects/Building1.java | 7 +++--- .../Cards/Building/Effects/Building1Test.java | 22 +++++++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building1.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building1.java index cdf7261..6bb3579 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building1.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building1.java @@ -2,11 +2,8 @@ package it.polimi.ingsw.gc14.Model.Cards.Building.Effects; import it.polimi.ingsw.gc14.Model.Cards.Building.EffectType; import it.polimi.ingsw.gc14.Model.Cards.BuildingCard; -import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character; import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType; -import it.polimi.ingsw.gc14.Model.Player; -import java.util.HashMap; /** * During the Sustenance Event, you have a discount of 1 food token on the total you @@ -47,4 +44,8 @@ public class Building1 extends BuildingCard { return new Building1(getEra(),getPrice(),getPrestigeValue(),getIcon()); } + @Override + public String toString() { + return super.toString() + " Icon: " + this.icon.toString(); + } } diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building1Test.java b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building1Test.java index eb76d5c..cfd9ef4 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building1Test.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building1Test.java @@ -66,4 +66,26 @@ class Building1Test { assertEquals(Prestige, bClone.getPrestigeValue()); assertEquals(ct, b0.getIcon()); } + + @Test + @DisplayName("toString") + void testToString(){ + Building1 b1 = new Building1(1,2,3, CharacterType.INVENTOR); + assertEquals("Era:1 Price:2 Prestige:3 Icon: INVENTOR", b1.toString()); + + b1 = new Building1(1,2,3, CharacterType.BUILDER); + assertEquals("Era:1 Price:2 Prestige:3 Icon: BUILDER", b1.toString()); + + b1 = new Building1(1,2,3, CharacterType.GATHERER); + assertEquals("Era:1 Price:2 Prestige:3 Icon: GATHERER", b1.toString()); + + b1 = new Building1(1,2,3, CharacterType.ARTIST); + assertEquals("Era:1 Price:2 Prestige:3 Icon: ARTIST", b1.toString()); + + b1 = new Building1(1,2,3, CharacterType.SHAMAN); + assertEquals("Era:1 Price:2 Prestige:3 Icon: SHAMAN", b1.toString()); + + b1 = new Building1(1,2,3, CharacterType.HUNTER); + assertEquals("Era:1 Price:2 Prestige:3 Icon: HUNTER", b1.toString()); + } } \ No newline at end of file From 65bb479b9e1b75fcf75bb490a2524fe608729827 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Sat, 25 Apr 2026 17:34:01 +0200 Subject: [PATCH 3/7] Add: Added "toString" Method And Relevant Test In Building11.java And Building11Test.java. --- .../Cards/Building/Effects/Building11.java | 7 ++++++ .../Building/Effects/Building11Test.java | 23 ++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11.java index 5b47de1..59f86c0 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11.java @@ -6,6 +6,7 @@ import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType; import it.polimi.ingsw.gc14.Model.Player; public class Building11 extends BuildingCard { + private CharacterType icon ; /** @@ -14,6 +15,7 @@ public class Building11 extends BuildingCard { * @return the CharacterType associated with this building card effect. */ public CharacterType getIcon() {return icon;} + private int PrestigeMul; /** @@ -65,4 +67,9 @@ public class Building11 extends BuildingCard { throw new IllegalArgumentException(); player.addPrestige(player.getNType(getIcon()) * this.getPrestigeMul()); } + + @Override + public String toString() { + return super.toString() + " Icon: " + this.icon.toString(); + } } \ No newline at end of file diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11Test.java b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11Test.java index 296b0da..620233a 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11Test.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11Test.java @@ -3,7 +3,6 @@ package it.polimi.ingsw.gc14.Model.Cards.Building.Effects; import it.polimi.ingsw.gc14.Model.Cards.Building.EffectType; import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType; import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Artist; -import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Hunter; import it.polimi.ingsw.gc14.Model.Player; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -109,4 +108,26 @@ class Building11Test { b4.applyEffect(p5); }); } + + @Test + @DisplayName("toString") + void testToString(){ + Building11 b11 = new Building11(1,2,3, CharacterType.INVENTOR, 1); + assertEquals("Era:1 Price:2 Prestige:3 Icon: INVENTOR", b11.toString()); + + b11 = new Building11(1,2,3, CharacterType.BUILDER, 1); + assertEquals("Era:1 Price:2 Prestige:3 Icon: BUILDER", b11.toString()); + + b11 = new Building11(1,2,3, CharacterType.GATHERER, 1); + assertEquals("Era:1 Price:2 Prestige:3 Icon: GATHERER", b11.toString()); + + b11 = new Building11(1,2,3, CharacterType.ARTIST, 1); + assertEquals("Era:1 Price:2 Prestige:3 Icon: ARTIST", b11.toString()); + + b11 = new Building11(1,2,3, CharacterType.SHAMAN, 1); + assertEquals("Era:1 Price:2 Prestige:3 Icon: SHAMAN", b11.toString()); + + b11 = new Building11(1,2,3, CharacterType.HUNTER, 1); + assertEquals("Era:1 Price:2 Prestige:3 Icon: HUNTER", b11.toString()); + } } \ No newline at end of file From 87691764959914f96f20fbca5f3110c181587b68 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Sat, 25 Apr 2026 18:21:31 +0200 Subject: [PATCH 4/7] Fix: Fixed "toString" Method In Character.java. --- .../polimi/ingsw/gc14/Model/Cards/TribeCards/Character.java | 2 +- .../ingsw/gc14/Model/Cards/TribeCards/Characters/Builder.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Character.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Character.java index 9cdb9ae..d8d1284 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Character.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Character.java @@ -57,7 +57,7 @@ public abstract class Character extends TribeCard implements Cloneable { */ @Override public String toString() { - return super.toString()+" "+type.toString(); + return type.toString() + " -- " + super.toString(); } /** diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Builder.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Builder.java index 3fb9706..deef818 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Builder.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Builder.java @@ -86,7 +86,9 @@ public class Builder extends Character * @return the string representation of this Builder card. */ @Override - public String toString() { return super.toString()+" Reduction Value: " + String.valueOf(reductionValue) + "\n Prestige Value: " + String.valueOf(prestigeValue); } + public String toString() { + return super.toString() + " Reduction Value: " + String.valueOf(reductionValue) + " Prestige Value: " + String.valueOf(prestigeValue); + } /** * Creates and returns a copy of this Builder card. From d2f3a549b35031644a3a9d9175132007b4ce8690 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Sat, 25 Apr 2026 20:17:05 +0200 Subject: [PATCH 5/7] Fix: "toString" Testing For Player.java. --- .../it/polimi/ingsw/gc14/Model/Player.java | 56 ++++++++++++++----- .../polimi/ingsw/gc14/Model/PlayerTest.java | 15 ++--- 2 files changed, 49 insertions(+), 22 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Player.java b/src/main/java/it/polimi/ingsw/gc14/Model/Player.java index bef8cbd..8a79130 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Player.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Player.java @@ -3,10 +3,14 @@ package it.polimi.ingsw.gc14.Model; import it.polimi.ingsw.gc14.Model.Cards.BuildingCard; import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType; import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.*; +import it.polimi.ingsw.gc14.View.TUI.AsciiTable; import java.io.Serializable; import java.util.ArrayList; import java.util.Arrays; +import java.util.List; + +import static it.polimi.ingsw.gc14.View.TUI.BorderStyle.*; /** * Default Player class; contains all identifiers and methods needed. @@ -224,21 +228,47 @@ public class Player implements Serializable { // endregion constructors // region Functions - // TODO tostring usr + food + prestige \n tab foreach(characters.cards + spazio) @Override public String toString() { - String toPrint = ""; - toPrint = this.getUserName() - + ":\n\tFood: " + this.getFoodValue() - + "\n\tPrestige: " + this.getPrestigeValue() - + "\n\tArtists: " + this.artists.toString() - + "\n\tBuilders: " + this.builders.toString() - + "\n\tGatherers: " + this.gatherers.toString() - + "\n\tShamans: " + this.shamans.toString() - + "\n\tHunters: " + this.hunters.toString() - + "\n\tBuildings: " - + this.buildingCards.toString(); - return toPrint; + var table = new AsciiTable(UNICODE, 1); + + table.addHeader(this.getUserName()); + table.addRow("RESOURCES:"); + table.addRow("Food: " + this.getFoodValue()); + table.addSeparator(); + table.addRow("Prestige: " + this.getPrestigeValue()); + + + table.addRow("CHARACTERS:"); + if(!this.artists.isEmpty()){ + table.addRow("Artists: " + this.artists.toString()); + } + + if(!this.builders.isEmpty()){ + table.addRow("Builders: " + this.builders.toString()); + } + + if(!this.gatherers.isEmpty()){ + table.addRow("Gatherers: " + this.gatherers.toString()); + } + + if(!this.shamans.isEmpty()){ + table.addRow("Shamans: " + this.shamans.toString()); + } + + if(!this.hunters.isEmpty()){ + table.addRow("Hunters: " + this.hunters.toString()); + } + + //TODO fix ? + table.addSeparator(); + table.addRow("BUILDING CARDS:"); + + if(!this.buildingCards.isEmpty()){ + table.addRow("Buildings: " + this.buildingCards.toString()); + } + + return table.build(); } // endregion functions } diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/PlayerTest.java b/src/test/java/it/polimi/ingsw/gc14/Model/PlayerTest.java index 79990ec..9696ec7 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/PlayerTest.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/PlayerTest.java @@ -200,17 +200,14 @@ class PlayerTest { p.addPrestige(15); p.addFood(7); p.artists.add(new Artist(1)); + p.artists.add(new Artist(1)); + p.artists.add(new Artist(1)); + p.artists.add(new Artist(1)); + p.artists.add(new Artist(1)); + p.artists.add(new Artist(1)); p.artists.add(new Artist(2)); p.buildingCards.add(new BuildingCard(2, 1,2, 5)); p.buildingCards.add(new BuildingCard(2, 2,3, 6)); - assertEquals("test_usr:"+ "\n\t" + - "Food: 7" + "\n\t" + - "Prestige: 15" + "\n\t" + - "Artists: [Era:1 ARTIST, Era:2 ARTIST]" + "\n\t" + "Builders: []" + "\n\t" + - "Gatherers: []" + "\n\t" + - "Shamans: []" + "\n\t" + - "Hunters: []" + "\n\t" + - "Buildings: [Era:1 Price:2 Prestige:5, Era:2 Price:3 Prestige:6]", - p.toString()); + System.out.println(p.toString()); } } \ No newline at end of file From d707f16d0bcc43c0ddb077f97cbdae4c916265d9 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Sun, 26 Apr 2026 16:24:55 +0200 Subject: [PATCH 6/7] Fix: Fixed "toString" Method Of Player.java. --- .../it/polimi/ingsw/gc14/Model/Player.java | 40 +++++++++++++++++-- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Player.java b/src/main/java/it/polimi/ingsw/gc14/Model/Player.java index 8a79130..76db84c 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Player.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Player.java @@ -230,6 +230,8 @@ public class Player implements Serializable { // region Functions @Override public String toString() { + int Last = 5; + var table = new AsciiTable(UNICODE, 1); table.addHeader(this.getUserName()); @@ -238,32 +240,64 @@ public class Player implements Serializable { table.addSeparator(); table.addRow("Prestige: " + this.getPrestigeValue()); + if(!this.hunters.isEmpty()){ + Last = 5; + } + else if(!this.shamans.isEmpty()){ + Last = 4; + } + else if(!this.gatherers.isEmpty()){ + Last = 3; + } + else if(!this.builders.isEmpty()){ + Last = 2; + } + else if(!this.inventors.isEmpty()){ + Last = 1; + } + else{ + Last = 0; + } + if(Last == 0){ + table.addSeparator(); + } table.addRow("CHARACTERS:"); if(!this.artists.isEmpty()){ + if(Last == 1){ + table.addSeparator(); + } table.addRow("Artists: " + this.artists.toString()); } if(!this.builders.isEmpty()){ + if(Last == 2){ + table.addSeparator(); + } table.addRow("Builders: " + this.builders.toString()); } if(!this.gatherers.isEmpty()){ + if(Last == 3){ + table.addSeparator(); + } table.addRow("Gatherers: " + this.gatherers.toString()); } if(!this.shamans.isEmpty()){ + if(Last == 4){ + table.addSeparator(); + } table.addRow("Shamans: " + this.shamans.toString()); } + if(!this.hunters.isEmpty()){ + table.addSeparator(); table.addRow("Hunters: " + this.hunters.toString()); } - //TODO fix ? - table.addSeparator(); table.addRow("BUILDING CARDS:"); - if(!this.buildingCards.isEmpty()){ table.addRow("Buildings: " + this.buildingCards.toString()); } From ef82b217188f0141cf39c96d4d06d4d018626761 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Sun, 26 Apr 2026 17:15:20 +0200 Subject: [PATCH 7/7] Fix: Fixed "toString" Methods For Most Classes + AsciiTable.java Attempted Fix. --- .../ingsw/gc14/Model/Cards/BuildingCard.java | 2 +- .../gc14/Model/Cards/TribeCards/Character.java | 2 +- .../Model/Cards/TribeCards/Characters/Builder.java | 2 +- .../Model/Cards/TribeCards/Characters/Hunter.java | 6 +++++- .../Cards/TribeCards/Characters/Inventor.java | 2 +- .../Model/Cards/TribeCards/Characters/Shaman.java | 2 +- .../it/polimi/ingsw/gc14/Model/OrderLogicCard.java | 2 +- .../it/polimi/ingsw/gc14/Model/PlayableCard.java | 2 +- .../java/it/polimi/ingsw/gc14/Model/Player.java | 14 ++++++++++++-- .../it/polimi/ingsw/gc14/View/TUI/AsciiTable.java | 2 +- 10 files changed, 25 insertions(+), 11 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/BuildingCard.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/BuildingCard.java index 352f25a..2167441 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/BuildingCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/BuildingCard.java @@ -182,6 +182,6 @@ public class BuildingCard extends PlayableCard implements Cloneable , BuildingEf */ @Override public String toString() { - return "Era:"+String.valueOf(getEra())+" Price:"+String.valueOf(getPrice())+" Prestige:"+String.valueOf(getPrestigeValue()); + return "Era:"+String.valueOf(getEra())+" P:"+String.valueOf(getPrice())+" PR:"+String.valueOf(getPrestigeValue()); } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Character.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Character.java index d8d1284..99c8bba 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Character.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Character.java @@ -57,7 +57,7 @@ public abstract class Character extends TribeCard implements Cloneable { */ @Override public String toString() { - return type.toString() + " -- " + super.toString(); + return super.toString(); } /** diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Builder.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Builder.java index deef818..0bbacc0 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Builder.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Builder.java @@ -87,7 +87,7 @@ public class Builder extends Character */ @Override public String toString() { - return super.toString() + " Reduction Value: " + String.valueOf(reductionValue) + " Prestige Value: " + String.valueOf(prestigeValue); + return super.toString() + " RV: " + String.valueOf(reductionValue) + " PV: " + String.valueOf(prestigeValue); } /** diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Hunter.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Hunter.java index b956a18..18977a0 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Hunter.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Hunter.java @@ -47,7 +47,11 @@ public class Hunter extends Character { */ @Override public String toString() { - return super.toString() + "Icon: " + String.valueOf(icon); + String toPrint = super.toString(); + if(this.icon){ + toPrint += " 🏹"; + } + return toPrint; } /** diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Inventor.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Inventor.java index d8c5f45..39eba77 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Inventor.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Inventor.java @@ -52,7 +52,7 @@ public class Inventor extends Character { */ @Override public String toString() { - return super.toString() + " Symbol:" + String.valueOf(icon); + return super.toString() + " I_ID:" + String.valueOf(icon); } /** diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Shaman.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Shaman.java index b04098f..f70dc94 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Shaman.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Shaman.java @@ -49,7 +49,7 @@ public class Shaman extends Character { */ @Override public String toString() { - return super.toString() + "Icon: " + String.valueOf(icon); + return super.toString() + " ★: " + String.valueOf(icon); } /** diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/OrderLogicCard.java b/src/main/java/it/polimi/ingsw/gc14/Model/OrderLogicCard.java index 7a51f3e..22a8678 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/OrderLogicCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/OrderLogicCard.java @@ -15,7 +15,7 @@ public abstract class OrderLogicCard implements Serializable { /** * The queue of players associated with this order logic card. */ - private Queue players; + protected Queue players; /** * Creates an order logic card with the specified list of players. diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/PlayableCard.java b/src/main/java/it/polimi/ingsw/gc14/Model/PlayableCard.java index a6c61d7..0382754 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/PlayableCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/PlayableCard.java @@ -43,6 +43,6 @@ public abstract class PlayableCard implements Serializable { */ @Override public String toString() { - return "Era:"+String.valueOf(Era); + return "⌛:"+String.valueOf(Era); } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Player.java b/src/main/java/it/polimi/ingsw/gc14/Model/Player.java index 76db84c..fd0a3ba 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Player.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Player.java @@ -230,7 +230,7 @@ public class Player implements Serializable { // region Functions @Override public String toString() { - int Last = 5; + int Last = 6; var table = new AsciiTable(UNICODE, 1); @@ -241,6 +241,9 @@ public class Player implements Serializable { table.addRow("Prestige: " + this.getPrestigeValue()); if(!this.hunters.isEmpty()){ + Last = 6; + } + else if(!this.inventors.isEmpty()){ Last = 5; } else if(!this.shamans.isEmpty()){ @@ -252,7 +255,7 @@ public class Player implements Serializable { else if(!this.builders.isEmpty()){ Last = 2; } - else if(!this.inventors.isEmpty()){ + else if(!this.artists.isEmpty()){ Last = 1; } else{ @@ -291,6 +294,13 @@ public class Player implements Serializable { table.addRow("Shamans: " + this.shamans.toString()); } + if(!this.inventors.isEmpty()){ + if(Last == 5){ + table.addSeparator(); + } + table.addRow("Inventors: " + this.inventors.toString()); + } + if(!this.hunters.isEmpty()){ table.addSeparator(); diff --git a/src/main/java/it/polimi/ingsw/gc14/View/TUI/AsciiTable.java b/src/main/java/it/polimi/ingsw/gc14/View/TUI/AsciiTable.java index e26018c..f3258a2 100644 --- a/src/main/java/it/polimi/ingsw/gc14/View/TUI/AsciiTable.java +++ b/src/main/java/it/polimi/ingsw/gc14/View/TUI/AsciiTable.java @@ -45,6 +45,6 @@ public class AsciiTable { private String rpad(String s, int w) { if (s.length() >= w) return s.substring(0, w); - return s + " ".repeat(w - s.length()); + return s + " ".repeat(w - s.length()) + "\t"; } } \ No newline at end of file