From d9fa4225da2a4befae540f76b92d2f64903122c6 Mon Sep 17 00:00:00 2001 From: aleandro Date: Sun, 14 Jun 2026 22:57:55 +0200 Subject: [PATCH] Small fix to TUI --- .../Cards/TribeCards/Characters/Gatherer.java | 2 +- .../TribeCards/Events/CavePaintings.java | 2 +- .../Model/Cards/TribeCards/Events/Hunt.java | 2 +- .../TribeCards/Events/ShamanicRitual.java | 2 +- .../Cards/TribeCards/Events/Sustenance.java | 2 +- .../it/polimi/ingsw/gc14/Model/Player.java | 2 +- .../it/polimi/ingsw/gc14/View/TUI/TUI.java | 21 +++++++++++++++---- .../gc14/Model/GamePackage/BoardTest.java | 1 - .../polimi/ingsw/gc14/Model/PlayerTest.java | 2 +- 9 files changed, 24 insertions(+), 12 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Gatherer.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Gatherer.java index 43f9128..605e6c6 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Gatherer.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Gatherer.java @@ -77,7 +77,7 @@ public class Gatherer extends Character { @Override public String toStringPlayer() { - return "-\uD83C\uDF56"; + return "\uD83C\uDF56"; } @Override diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/CavePaintings.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/CavePaintings.java index 0661c29..b2af817 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/CavePaintings.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/CavePaintings.java @@ -128,6 +128,6 @@ public class CavePaintings extends EventCard { @Override public String toStringBoard() { - return "CAVE_PAINTINGS 0-" + (nLower-1) + ":" + nPrestigeRem + " " + nLower + "+:" + nPrestigeMul; + return "\033[38;5;180mCAVE_PAINTINGS 0-" + (nLower-1) + ":" + nPrestigeRem + " " + nLower + "+:" + nPrestigeMul + "\033[0m"; } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Hunt.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Hunt.java index 063e183..1016ef9 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Hunt.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Hunt.java @@ -91,7 +91,7 @@ public class Hunt extends EventCard { @Override public String toStringBoard() { - return "HUNT 1\uD83C\uDF56+" + prestigeMultiplier + "\uD83C\uDFC5×\uD83C\uDFF9"; + return "\033[38;5;180mHUNT 1\uD83C\uDF56+" + prestigeMultiplier + "\uD83C\uDFC5×\uD83C\uDFF9" + "\033[0m"; } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/ShamanicRitual.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/ShamanicRitual.java index 14a3795..b356a94 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/ShamanicRitual.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/ShamanicRitual.java @@ -146,7 +146,7 @@ public class ShamanicRitual extends EventCard { @Override public String toStringBoard() { - return "SHAMANIC_RITUAL \uD83C\uDF1F>:" + prestigeToAdd + " \uD83C\uDF1F<:" + prestigeToRemove; + return "\033[38;5;180mSHAMANIC_RITUAL \uD83C\uDF1F>:" + prestigeToAdd + " \uD83C\uDF1F<:" + prestigeToRemove + "\033[0m"; } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Sustenance.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Sustenance.java index 0a18294..d45f7f7 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Sustenance.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Sustenance.java @@ -126,6 +126,6 @@ public class Sustenance extends EventCard { @Override public String toStringBoard() { - return "SUSTENANCE -1\uD83C\uDF56/-" + prestigeDebt + "\uD83C\uDFC5"; + return "\033[38;5;180mSUSTENANCE -1\uD83C\uDF56/-" + prestigeDebt + "\uD83C\uDFC5\033[0m"; } } 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 829a49c..fbda80d 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Player.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Player.java @@ -311,7 +311,7 @@ public class Player implements Serializable { } if(!this.gatherers.isEmpty()){ - table.addRow(this.gatherers.size() + " Gatherers: -\uD83E\uDD57:" + 3*this.gatherers.size()); + table.addRow(this.gatherers.size() + " Gatherers: \uD83C\uDF56:-" + 3*this.gatherers.size()); if(last == 3){ table.addSeparator(); } diff --git a/src/main/java/it/polimi/ingsw/gc14/View/TUI/TUI.java b/src/main/java/it/polimi/ingsw/gc14/View/TUI/TUI.java index 3458157..9650605 100644 --- a/src/main/java/it/polimi/ingsw/gc14/View/TUI/TUI.java +++ b/src/main/java/it/polimi/ingsw/gc14/View/TUI/TUI.java @@ -144,6 +144,7 @@ public class TUI implements IView { */ private String buildAllHandsContent() { List players = new ArrayList<>(model.players.values()); + players.removeIf(p -> model.disconnectedPlayers.contains(p.getUserName())); if (players.isEmpty()) return ""; int n = players.size(); @@ -154,11 +155,23 @@ public class TUI implements IView { for (int i = 0; i < leftCount; i++) leftSb.append(players.get(i).toString()).append("\n"); for (int i = leftCount; i < n; i++) rightSb.append(players.get(i).toString()).append("\n"); - if (rightSb.isEmpty()) return leftSb.toString(); + String handsBlock; + if (rightSb.isEmpty()) { + handsBlock = leftSb.toString(); + } else { + handsBlock = AsciiTable.sideBySide( + List.of(leftSb.toString().split("\n", -1)), + List.of(rightSb.toString().split("\n", -1)), 3); + } - return AsciiTable.sideBySide( - List.of(leftSb.toString().split("\n", -1)), - List.of(rightSb.toString().split("\n", -1)), 3); + if (!model.disconnectedPlayers.isEmpty()) { + var box = new AsciiTable(BorderStyle.ROUNDED, 1); + box.addHeader("Disconnected"); + model.disconnectedPlayers.forEach(box::addRow); + handsBlock += "\n" + box.build(); + } + + return handsBlock; } private String buildTotemsContent() { diff --git a/src/test/java/it/polimi/ingsw/gc14/Model/GamePackage/BoardTest.java b/src/test/java/it/polimi/ingsw/gc14/Model/GamePackage/BoardTest.java index 7adeb8e..0098ee8 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/GamePackage/BoardTest.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/GamePackage/BoardTest.java @@ -73,7 +73,6 @@ class BoardTest { Board bd5 = new Board(5); for(TribeCard tribe : bd2.getUpperListTribe()) { - System.out.println(tribe.getIdIMG() +" "+tribe.toStringBoard()); assertNotEquals("-1",tribe.getIdIMG()); } 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 c9c6046..d006662 100644 --- a/src/test/java/it/polimi/ingsw/gc14/Model/PlayerTest.java +++ b/src/test/java/it/polimi/ingsw/gc14/Model/PlayerTest.java @@ -227,7 +227,7 @@ class PlayerTest { "│ CHARACTERS │\n" + "│ 7 Artists: 🎨:7 │\n" + "│ 1 Builders: 🔨:5 🏅:1 │\n" + - "│ 1 Gatherers: -🥗:3 │\n" + + "│ 1 Gatherers: -\uD83C\uDF56:3 │\n" + "│ 2 Shamans: 🌟:6 │\n" + "│ 1 Inventors: 1:1 │\n" + "│ 2 Hunters: 🍖1 │\n" +