From 1af39bc558142433159da0900c87b01aea4eb3e7 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Wed, 29 Apr 2026 18:20:19 +0200 Subject: [PATCH 01/23] Add: Added Javadoc For "toStringBoard" Method In CavePaintings.java. --- .../Model/Cards/TribeCards/Events/CavePaintings.java | 11 +++++++++++ 1 file changed, 11 insertions(+) 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 5a70bfb..c0477fe 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 @@ -86,6 +86,17 @@ public class CavePaintings extends EventCard { return new CavePaintings(getEra(), NLower, NPrestigeRem, NPrestigeMul) ; } + + /** + * Prints a string representation of this {@code TribeCard}. This specific variation is used in the {@code Game}'s + * toString to print a more detailed version; includes: {@code NLower}, {@code NUpper}, {@code NPrestigeRem} and {@code NPrestigeMul}. + * @return {@code String} - a string representation of this {@code TribeCard}. + * @see it.polimi.ingsw.gc14.Model.Cards.TribeCard TribeCard + * @see it.polimi.ingsw.gc14.Model.Game Game + * @see #NLower + * @see #NPrestigeRem + * @see #NPrestigeMul + */ @Override public String toStringBoard() { return super.toString()+" 0-"+(NLower-1)+":"+NPrestigeRem+" "+NLower+"+:"+NPrestigeMul; From 6d99b3e4e93ab48bbb1b9aeef026ca865bb785c4 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 16:41:14 +0200 Subject: [PATCH 02/23] Add: Added Javadoc For "toString" Method In Player.java. Fix: "addSeparator" Method In AsciiTable.java Now Correctly Positons Separators. --- .../it/polimi/ingsw/gc14/Model/Player.java | 34 ++++++++++++++----- .../ingsw/gc14/View/TUI/AsciiTable.java | 2 +- 2 files changed, 26 insertions(+), 10 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 fd0a3ba..82151f8 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Player.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Player.java @@ -8,7 +8,6 @@ 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.*; @@ -228,17 +227,34 @@ public class Player implements Serializable { // endregion constructors // region Functions + /** + * Prints the {@code Player}'s attributes for the {@code Board}'s representation. + * Uses the {@code UNICODE} border style. + *

Includes: + *

  • {@link #FoodValue Food} + *
  • {@link #PrestigeValue Prestige} + *
  • {@link #artists Artists} + *
  • {@link #builders Builders} + *
  • {@link #gatherers Gatherers} + *
  • {@link #shamans Shamans} + *
  • {@link #inventors Inventors} + *
  • {@link #hunters Hunters} + *
  • {@link #buildingCards Buildings} + *

    + * @return {@code String} - A string representation of the {@code Player}'s attributes. + * @see it.polimi.ingsw.gc14.View.TUI.BorderStyle BorderStyle + */ @Override public String toString() { - int Last = 6; + int Last = -1; 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.addSeparator(); if(!this.hunters.isEmpty()){ Last = 6; @@ -267,44 +283,44 @@ public class Player implements Serializable { } table.addRow("CHARACTERS:"); if(!this.artists.isEmpty()){ + table.addRow("Artists: " + this.artists.toString()); if(Last == 1){ table.addSeparator(); } - table.addRow("Artists: " + this.artists.toString()); } if(!this.builders.isEmpty()){ + table.addRow("Builders: " + this.builders.toString()); if(Last == 2){ table.addSeparator(); } - table.addRow("Builders: " + this.builders.toString()); } if(!this.gatherers.isEmpty()){ + table.addRow("Gatherers: " + this.gatherers.toString()); if(Last == 3){ table.addSeparator(); } - table.addRow("Gatherers: " + this.gatherers.toString()); } if(!this.shamans.isEmpty()){ + table.addRow("Shamans: " + this.shamans.toString()); if(Last == 4){ table.addSeparator(); } - table.addRow("Shamans: " + this.shamans.toString()); } if(!this.inventors.isEmpty()){ + table.addRow("Inventors: " + this.inventors.toString()); if(Last == 5){ table.addSeparator(); } - table.addRow("Inventors: " + this.inventors.toString()); } if(!this.hunters.isEmpty()){ - table.addSeparator(); table.addRow("Hunters: " + this.hunters.toString()); + table.addSeparator(); } table.addRow("BUILDING CARDS:"); 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 33e93ad..8fad4eb 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 @@ -15,7 +15,7 @@ public class AsciiTable { public void addRow(String... cells) { rows.add(Arrays.asList(cells)); } public void addRow(List cells) { rows.add(cells); } public void addHeader(String... cells) { rows.add(0, Arrays.asList(cells)); separators.add(0); } - public void addSeparator() { separators.add(rows.size()); } + public void addSeparator() { separators.add(rows.size()-1); } public String build() { var sb = new StringBuilder(); From 3c0ea0f9eb94fd5b40924be1242ac881ead8237f Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 16:41:14 +0200 Subject: [PATCH 03/23] Add: Added Javadoc For "toStringBoard" Method In CavePaintings.java. --- .../TribeCards/Events/CavePaintings.java | 14 +++++--- .../it/polimi/ingsw/gc14/Model/Player.java | 34 ++++++++++++++----- .../ingsw/gc14/View/TUI/AsciiTable.java | 2 +- 3 files changed, 36 insertions(+), 14 deletions(-) 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 c0477fe..a5ae2c9 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 @@ -89,13 +89,19 @@ public class CavePaintings extends EventCard { /** * Prints a string representation of this {@code TribeCard}. This specific variation is used in the {@code Game}'s - * toString to print a more detailed version; includes: {@code NLower}, {@code NUpper}, {@code NPrestigeRem} and {@code NPrestigeMul}. + * toString to print a more detailed version. + *

    NOTE: {@code NUpper} is not a real attribute used in calculations (only {@code NLower} is needed), + * however it's a parameter on the cards' design. + *

    + *

    includes: + *

  • {@link #NLower} + *
  • {@code NUpper} + *
  • {@link #NPrestigeRem} + *
  • {@link #NPrestigeMul} + *

    * @return {@code String} - a string representation of this {@code TribeCard}. * @see it.polimi.ingsw.gc14.Model.Cards.TribeCard TribeCard * @see it.polimi.ingsw.gc14.Model.Game Game - * @see #NLower - * @see #NPrestigeRem - * @see #NPrestigeMul */ @Override public String toStringBoard() { 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 fd0a3ba..82151f8 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Player.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Player.java @@ -8,7 +8,6 @@ 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.*; @@ -228,17 +227,34 @@ public class Player implements Serializable { // endregion constructors // region Functions + /** + * Prints the {@code Player}'s attributes for the {@code Board}'s representation. + * Uses the {@code UNICODE} border style. + *

    Includes: + *

  • {@link #FoodValue Food} + *
  • {@link #PrestigeValue Prestige} + *
  • {@link #artists Artists} + *
  • {@link #builders Builders} + *
  • {@link #gatherers Gatherers} + *
  • {@link #shamans Shamans} + *
  • {@link #inventors Inventors} + *
  • {@link #hunters Hunters} + *
  • {@link #buildingCards Buildings} + *

    + * @return {@code String} - A string representation of the {@code Player}'s attributes. + * @see it.polimi.ingsw.gc14.View.TUI.BorderStyle BorderStyle + */ @Override public String toString() { - int Last = 6; + int Last = -1; 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.addSeparator(); if(!this.hunters.isEmpty()){ Last = 6; @@ -267,44 +283,44 @@ public class Player implements Serializable { } table.addRow("CHARACTERS:"); if(!this.artists.isEmpty()){ + table.addRow("Artists: " + this.artists.toString()); if(Last == 1){ table.addSeparator(); } - table.addRow("Artists: " + this.artists.toString()); } if(!this.builders.isEmpty()){ + table.addRow("Builders: " + this.builders.toString()); if(Last == 2){ table.addSeparator(); } - table.addRow("Builders: " + this.builders.toString()); } if(!this.gatherers.isEmpty()){ + table.addRow("Gatherers: " + this.gatherers.toString()); if(Last == 3){ table.addSeparator(); } - table.addRow("Gatherers: " + this.gatherers.toString()); } if(!this.shamans.isEmpty()){ + table.addRow("Shamans: " + this.shamans.toString()); if(Last == 4){ table.addSeparator(); } - table.addRow("Shamans: " + this.shamans.toString()); } if(!this.inventors.isEmpty()){ + table.addRow("Inventors: " + this.inventors.toString()); if(Last == 5){ table.addSeparator(); } - table.addRow("Inventors: " + this.inventors.toString()); } if(!this.hunters.isEmpty()){ - table.addSeparator(); table.addRow("Hunters: " + this.hunters.toString()); + table.addSeparator(); } table.addRow("BUILDING CARDS:"); 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 33e93ad..8fad4eb 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 @@ -15,7 +15,7 @@ public class AsciiTable { public void addRow(String... cells) { rows.add(Arrays.asList(cells)); } public void addRow(List cells) { rows.add(cells); } public void addHeader(String... cells) { rows.add(0, Arrays.asList(cells)); separators.add(0); } - public void addSeparator() { separators.add(rows.size()); } + public void addSeparator() { separators.add(rows.size()-1); } public String build() { var sb = new StringBuilder(); From 8e8f170fdcf22a79eaa6c83716842dfb94c638e3 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 17:06:06 +0200 Subject: [PATCH 04/23] Add: Added Javadoc For "toStringBoard" Method In Hunt.java. --- .../gc14/Model/Cards/TribeCards/Events/Hunt.java | 11 +++++++++++ 1 file changed, 11 insertions(+) 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 59898d3..9da4873 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 @@ -70,6 +70,17 @@ public class Hunt extends EventCard { public EventCard clone() { return new Hunt(getEra(), prestigeMultiplier); } + + /** + * Prints a string representation of this {@code TribeCard}. This specific variation is used in the {@code Game}'s + * toString to print a more detailed version. + *

    includes: + *

  • {@link #prestigeMultiplier} + *

    + * @return {@code String} - a string representation of this {@code TribeCard}. + * @see it.polimi.ingsw.gc14.Model.Cards.TribeCard TribeCard + * @see it.polimi.ingsw.gc14.Model.Game Game + */ @Override public String toStringBoard() { return super.toString()+" 1F+"+prestigeMultiplier+"PP"+" X N Hunter"; From 0da74efe01fbd7490557fdcf18c716768c6fcc8a Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 17:06:28 +0200 Subject: [PATCH 05/23] Add: Added Javadoc For "toStringBoard" Method In ShamanicRitual.java. --- .../Cards/TribeCards/Events/ShamanicRitual.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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 573f1f0..34cbd35 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 @@ -96,6 +96,18 @@ public class ShamanicRitual extends EventCard { public EventCard clone() { return new ShamanicRitual(getEra(), prestigeToAdd, prestigeToRemove); } + + /** + * Prints a string representation of this {@code TribeCard}. This specific variation is used in the {@code Game}'s + * toString to print a more detailed version. + *

    includes: + *

  • {@link #prestigeToAdd} + *
  • {@link #prestigeToRemove} + *

    + * @return {@code String} - a string representation of this {@code TribeCard}. + * @see it.polimi.ingsw.gc14.Model.Cards.TribeCard TribeCard + * @see it.polimi.ingsw.gc14.Model.Game Game + */ @Override public String toStringBoard() { return super.toString()+" *>:"+prestigeToAdd+" *<:"+prestigeToRemove; From b75a4224ee09fda4a33361c3b0489430d09e2c8b Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 17:06:40 +0200 Subject: [PATCH 06/23] Add: Added Javadoc For "toStringBoard" Method In Sustenance.java. --- .../gc14/Model/Cards/TribeCards/Events/Sustenance.java | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 0d92015..55b3e75 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 @@ -90,6 +90,16 @@ public class Sustenance extends EventCard { return new Sustenance(getEra(), PrestigeDebt); } + /** + * Prints a string representation of this {@code TribeCard}. This specific variation is used in the {@code Game}'s + * toString to print a more detailed version. + *

    includes: + *

  • {@link #PrestigeDebt} + *

    + * @return {@code String} - a string representation of this {@code TribeCard}. + * @see it.polimi.ingsw.gc14.Model.Cards.TribeCard TribeCard + * @see it.polimi.ingsw.gc14.Model.Game Game + */ @Override public String toStringBoard() { return super.toString()+" -1F/-"+PrestigeDebt+"PP"; From 76e3d19283d22bcdf08df9826d62b36fde6dc513 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 17:31:11 +0200 Subject: [PATCH 07/23] Add: Added Javadoc For "toStringBoard" Method In Builder.java. --- .../Model/Cards/TribeCards/Characters/Builder.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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 975fa6f..d34349c 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 @@ -89,6 +89,18 @@ public class Builder extends Character public String toString() { return super.toString() + " RV:" + String.valueOf(reductionValue) + " PV:" + String.valueOf(prestigeValue); } + + /** + * Prints a string representation of this {@code TribeCard}. This specific variation is used in the {@code Game}'s + * toString to print a more detailed version. + *

    Includes: + *

  • {@link #reductionValue Reduction Value} + *
  • {@link #prestigeValue Prestige Value} + *

    + * @return {@code String} - a string representation of this {@code TribeCard}. + * @see it.polimi.ingsw.gc14.Model.Cards.TribeCard TribeCard + * @see it.polimi.ingsw.gc14.Model.Game Game + */ @Override public String toStringBoard() { From 3fa0f24e52f6c59371469fab04eb3e5c8bc2edfa Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 17:32:04 +0200 Subject: [PATCH 08/23] Add: Added Javadoc For "toStringBoard" Method And "icon" Field In Hunter.java. --- .../Cards/TribeCards/Characters/Hunter.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) 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 0137dd2..a2a9280 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 @@ -5,6 +5,12 @@ import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType; import it.polimi.ingsw.gc14.Model.Player; public class Hunter extends Character { + + /** + * Describes whether the {@code Hunter Icon} is present or not. Whenever an + * {@code Hunter} with an {@code Hunter Icon} is added to the tribe, 1 {@code Food token} is awarded for each Hunter in the tribe + * (with or without an icon). + */ private boolean icon; /** @@ -53,6 +59,17 @@ public class Hunter extends Character { } return toPrint; } + + /** + * Prints a string representation of this {@code TribeCard}. This specific variation is used in the {@code Game}'s + * toString to print a more detailed version. + *

    Potentially includes: + *

  • {@link #icon Icon} + *

    + * @return {@code String} - a string representation of this {@code TribeCard}. + * @see it.polimi.ingsw.gc14.Model.Cards.TribeCard TribeCard + * @see it.polimi.ingsw.gc14.Model.Game Game + */ @Override public String toStringBoard() { String toPrint = super.toStringBoard(); @@ -62,7 +79,6 @@ public class Hunter extends Character { return toPrint; } - /** * Creates and returns a copy of this Hunter card. * From 137a88fef032c4933f9ade190793f5c5663dc2b7 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 17:32:22 +0200 Subject: [PATCH 09/23] Add: Added Javadoc For "toStringBoard" Method And "icon" Field In Inventor.java. --- .../Cards/TribeCards/Characters/Inventor.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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 4d6b77b..e591255 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 @@ -4,6 +4,9 @@ import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType; import it.polimi.ingsw.gc14.Model.Player; public class Inventor extends Character { + /** + * The {@code Icons}'s ID. There are a total of 10 different Icons. + */ private int icon; /** @@ -54,6 +57,17 @@ public class Inventor extends Character { public String toString() { return super.toString() + " I_ID:" + String.valueOf(icon); } + + /** + * Prints a string representation of this {@code TribeCard}. This specific variation is used in the {@code Game}'s + * toString to print a more detailed version. + *

    Includes: + *

  • {@link #icon Icons's ID} + *

    + * @return {@code String} - a string representation of this {@code TribeCard}. + * @see it.polimi.ingsw.gc14.Model.Cards.TribeCard TribeCard + * @see it.polimi.ingsw.gc14.Model.Game Game + */ @Override public String toStringBoard() { return super.toStringBoard() + " I_ID:" + String.valueOf(icon); From d0027463d18d487c6fe849b13b0d43d3fefc6f4c Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 17:33:14 +0200 Subject: [PATCH 10/23] Add: Added Javadoc For "toStringBoard" Method And "icon" Field In Shaman.java. --- .../Cards/TribeCards/Characters/Shaman.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) 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 10b3360..d529f2a 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 @@ -7,6 +7,14 @@ import it.polimi.ingsw.gc14.Model.Player; public class Shaman extends Character { + + /** + * The number of star {@code Icons} the card possesses. + * During the {@link it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.ShamanicRitual Shamanic Ritual Event}, having the + * majority of these icons provides Prestige Points; + * having the minority, on the other hand, results in + * losing Prestige Points. + */ private int icon; /** @@ -51,12 +59,22 @@ public class Shaman extends Character { public String toString() { return super.toString() + " *:" + String.valueOf(icon); } + + /** + * Prints a string representation of this {@code TribeCard}. This specific variation is used in the {@code Game}'s + * toString to print a more detailed version. + *

    Includes: + *

  • {@link #icon Number of stars} + *

    + * @return {@code String} - a string representation of this {@code TribeCard}. + * @see it.polimi.ingsw.gc14.Model.Cards.TribeCard TribeCard + * @see it.polimi.ingsw.gc14.Model.Game Game + */ @Override public String toStringBoard() { return super.toStringBoard() + " *:" + String.valueOf(icon); } - /** * Creates and returns a copy of this Shaman card. * From a3e415afda94aac8744865a7dcdf530e7b7d9db4 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 17:33:29 +0200 Subject: [PATCH 11/23] Refactor. --- .../ingsw/gc14/Model/Cards/TribeCards/Events/CavePaintings.java | 2 +- .../gc14/Model/Cards/TribeCards/Events/ShamanicRitual.java | 2 +- .../ingsw/gc14/Model/Cards/TribeCards/Events/Sustenance.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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 a5ae2c9..18ed0c4 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 @@ -93,7 +93,7 @@ public class CavePaintings extends EventCard { *

    NOTE: {@code NUpper} is not a real attribute used in calculations (only {@code NLower} is needed), * however it's a parameter on the cards' design. *

    - *

    includes: + *

    Includes: *

  • {@link #NLower} *
  • {@code NUpper} *
  • {@link #NPrestigeRem} 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 34cbd35..73ec0f3 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 @@ -100,7 +100,7 @@ public class ShamanicRitual extends EventCard { /** * Prints a string representation of this {@code TribeCard}. This specific variation is used in the {@code Game}'s * toString to print a more detailed version. - *

    includes: + *

    Includes: *

  • {@link #prestigeToAdd} *
  • {@link #prestigeToRemove} *

    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 55b3e75..24305d8 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 @@ -93,7 +93,7 @@ public class Sustenance extends EventCard { /** * Prints a string representation of this {@code TribeCard}. This specific variation is used in the {@code Game}'s * toString to print a more detailed version. - *

    includes: + *

    Includes: *

  • {@link #PrestigeDebt} *

    * @return {@code String} - a string representation of this {@code TribeCard}. From 8b8f565eb1ecdb306c25c16411cec5bf1aacbbe7 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 17:45:04 +0200 Subject: [PATCH 12/23] Add: Added Javadoc For "toStringBoard" Method In EventCard.java. --- .../ingsw/gc14/Model/Cards/TribeCards/EventCard.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/EventCard.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/EventCard.java index 43b937a..5f8fdbc 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/EventCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/EventCard.java @@ -64,6 +64,17 @@ public abstract class EventCard extends TribeCard { public String toString() { return super.toString()+" "+type.toString(); } + + /** + * Prints a string representation of this {@code EventCard}. This specific variation is used in the {@code Game}'s + * toString to print a more detailed version. + *

    Includes: + *

  • {@link #type Type} + *

    + * @return {@code String} - a string representation of this {@code EventCard}. + * @see it.polimi.ingsw.gc14.Model.Game Game + * @see it.polimi.ingsw.gc14.Model.GamePackage.Board Board + */ @Override public String toStringBoard() { return super.toString()+" "+type.toString(); From 805f71d80a5c5afc9dbbd433807c3d4f40ac9054 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 17:45:21 +0200 Subject: [PATCH 13/23] Add: Added Javadoc For "toStringBoard" Method In Character.java. --- .../ingsw/gc14/Model/Cards/TribeCards/Character.java | 11 +++++++++++ 1 file changed, 11 insertions(+) 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 ba405ce..b7e5ef0 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 @@ -60,6 +60,17 @@ public abstract class Character extends TribeCard implements Cloneable { return super.toString(); } + + /** + * Prints a string representation of this {@code Character}. This specific variation is used in the {@code Game}'s + * toString to print a more detailed version. + *

    Includes: + *

  • {@link it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType Type} + *

    + * @return {@code String} - a string representation of this {@code Character}. + * @see it.polimi.ingsw.gc14.Model.Game Game + * @see it.polimi.ingsw.gc14.Model.GamePackage.Board Board + */ @Override public String toStringBoard() { From c6df35040156a2efad601a9fd9d2c6759de94cf2 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 17:45:34 +0200 Subject: [PATCH 14/23] Refactor. --- .../ingsw/gc14/Model/Cards/TribeCards/Characters/Builder.java | 1 + .../ingsw/gc14/Model/Cards/TribeCards/Characters/Hunter.java | 1 + .../ingsw/gc14/Model/Cards/TribeCards/Characters/Inventor.java | 1 + .../ingsw/gc14/Model/Cards/TribeCards/Characters/Shaman.java | 1 + .../ingsw/gc14/Model/Cards/TribeCards/Events/CavePaintings.java | 1 + .../it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Hunt.java | 1 + .../ingsw/gc14/Model/Cards/TribeCards/Events/ShamanicRitual.java | 1 + .../ingsw/gc14/Model/Cards/TribeCards/Events/Sustenance.java | 1 + 8 files changed, 8 insertions(+) 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 d34349c..e5c5642 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 @@ -100,6 +100,7 @@ public class Builder extends Character * @return {@code String} - a string representation of this {@code TribeCard}. * @see it.polimi.ingsw.gc14.Model.Cards.TribeCard TribeCard * @see it.polimi.ingsw.gc14.Model.Game Game + * @see it.polimi.ingsw.gc14.Model.GamePackage.Board Board */ @Override public String toStringBoard() 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 a2a9280..5254216 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 @@ -69,6 +69,7 @@ public class Hunter extends Character { * @return {@code String} - a string representation of this {@code TribeCard}. * @see it.polimi.ingsw.gc14.Model.Cards.TribeCard TribeCard * @see it.polimi.ingsw.gc14.Model.Game Game + * @see it.polimi.ingsw.gc14.Model.GamePackage.Board Board */ @Override public String toStringBoard() { 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 e591255..083359d 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 @@ -67,6 +67,7 @@ public class Inventor extends Character { * @return {@code String} - a string representation of this {@code TribeCard}. * @see it.polimi.ingsw.gc14.Model.Cards.TribeCard TribeCard * @see it.polimi.ingsw.gc14.Model.Game Game + * @see it.polimi.ingsw.gc14.Model.GamePackage.Board Board */ @Override public String toStringBoard() { 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 d529f2a..2259ca7 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 @@ -69,6 +69,7 @@ public class Shaman extends Character { * @return {@code String} - a string representation of this {@code TribeCard}. * @see it.polimi.ingsw.gc14.Model.Cards.TribeCard TribeCard * @see it.polimi.ingsw.gc14.Model.Game Game + * @see it.polimi.ingsw.gc14.Model.GamePackage.Board Board */ @Override public String toStringBoard() { 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 18ed0c4..16d7395 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 @@ -102,6 +102,7 @@ public class CavePaintings extends EventCard { * @return {@code String} - a string representation of this {@code TribeCard}. * @see it.polimi.ingsw.gc14.Model.Cards.TribeCard TribeCard * @see it.polimi.ingsw.gc14.Model.Game Game + * @see it.polimi.ingsw.gc14.Model.GamePackage.Board Board */ @Override public String toStringBoard() { 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 9da4873..090b3bd 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 @@ -80,6 +80,7 @@ public class Hunt extends EventCard { * @return {@code String} - a string representation of this {@code TribeCard}. * @see it.polimi.ingsw.gc14.Model.Cards.TribeCard TribeCard * @see it.polimi.ingsw.gc14.Model.Game Game + * @see it.polimi.ingsw.gc14.Model.GamePackage.Board Board */ @Override public String toStringBoard() { 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 73ec0f3..70703d5 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 @@ -107,6 +107,7 @@ public class ShamanicRitual extends EventCard { * @return {@code String} - a string representation of this {@code TribeCard}. * @see it.polimi.ingsw.gc14.Model.Cards.TribeCard TribeCard * @see it.polimi.ingsw.gc14.Model.Game Game + * @see it.polimi.ingsw.gc14.Model.GamePackage.Board Board */ @Override public String toStringBoard() { 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 24305d8..164f779 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 @@ -99,6 +99,7 @@ public class Sustenance extends EventCard { * @return {@code String} - a string representation of this {@code TribeCard}. * @see it.polimi.ingsw.gc14.Model.Cards.TribeCard TribeCard * @see it.polimi.ingsw.gc14.Model.Game Game + * @see it.polimi.ingsw.gc14.Model.GamePackage.Board Board */ @Override public String toStringBoard() { From c9abac6d5783d397b64da01a4aaeb4aead07920a Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 17:56:30 +0200 Subject: [PATCH 15/23] Fix: Fixed Food / Prestige Removal Logic In Order*.java (Missing "!") + Refactor Of Corresponding Javadoc. --- .../java/it/polimi/ingsw/gc14/Model/Orders/Order2.java | 2 +- .../java/it/polimi/ingsw/gc14/Model/Orders/Order3.java | 5 +++-- .../java/it/polimi/ingsw/gc14/Model/Orders/Order4.java | 4 ++-- .../java/it/polimi/ingsw/gc14/Model/Orders/Order5.java | 4 ++-- .../it/polimi/ingsw/gc14/Model/Orders/OrderPlayer.java | 7 ++++--- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Orders/Order2.java b/src/main/java/it/polimi/ingsw/gc14/Model/Orders/Order2.java index 6d926c4..548f483 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Orders/Order2.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Orders/Order2.java @@ -26,7 +26,7 @@ public class Order2 extends OrderLogicCard { /** * Applies the effect associated with the specified position index for the given player. *

    If {@code index == 0}, the player gains 1 Food and the building effect is applied. - *

    If {@code index == 1}, the player tries to remove 1 Food; if the player cannot remove it, + *

    If {@code index == 1}, the player tries to remove 1 Food; if the player pay it, * the player loses 2 Prestige. * * @param player the player to whom the effect is applied. diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Orders/Order3.java b/src/main/java/it/polimi/ingsw/gc14/Model/Orders/Order3.java index fb4c71a..14bc2db 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Orders/Order3.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Orders/Order3.java @@ -27,7 +27,8 @@ public class Order3 extends OrderLogicCard { * Applies the effect associated with the specified position index for the given player. *

    If {@code index == 0}, the player gains 2 Food and the building effect is applied. *

    If {@code index == 1}, no effect is applied. - *

    If {@code index == 2}, if the player can remove 1 Food, the player loses 2 Prestige. + *

    If {@code index == 2}, the player tries to remove 1 Food; if the player pay it, + * the player loses 2 Prestige. * * @param player the player to whom the effect is applied. * @param index the position index of the effect to apply. @@ -47,7 +48,7 @@ public class Order3 extends OrderLogicCard { return; } if(index==2){ - if(player.removeFood(1)){ + if(!player.removeFood(1)){ player.removePrestige(2); } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Orders/Order4.java b/src/main/java/it/polimi/ingsw/gc14/Model/Orders/Order4.java index 966f15a..1fc229c 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Orders/Order4.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Orders/Order4.java @@ -28,7 +28,7 @@ public class Order4 extends OrderLogicCard { *

    If {@code index == 0}, the player gains 2 Food and the building effect is applied. *

    If {@code index == 1}, the player gains 1 Food and the building effect is applied. *

    If {@code index == 2}, no effect is applied. - *

    If {@code index == 3}, the player tries to remove 1 Food; if the removal succeeds, + *

    If {@code index == 3}, the player tries to remove 1 Food; if the player pay it, * the player loses 2 Prestige. * * @param player the player to whom the effect is applied. @@ -55,7 +55,7 @@ public class Order4 extends OrderLogicCard { return; } if(index==3){ - if(player.removeFood(1)){ + if(!player.removeFood(1)){ player.removePrestige(2); } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Orders/Order5.java b/src/main/java/it/polimi/ingsw/gc14/Model/Orders/Order5.java index 468c626..d184bcc 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Orders/Order5.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Orders/Order5.java @@ -29,7 +29,7 @@ public class Order5 extends OrderLogicCard { *

    If {@code index == 1}, the player gains 1 Food and the building effect is applied. *

    If {@code index == 2}, no effect is applied. *

    If {@code index == 3}, no effect is applied. - *

    If {@code index == 4}, the player tries to remove 1 Food; if the removal succeeds, + *

    If {@code index == 4}, the player tries to remove 1 Food; if the player pay it, * the player loses 2 Prestige. * * @param player the player to whom the effect is applied. @@ -56,7 +56,7 @@ public class Order5 extends OrderLogicCard { return; } if(index==4){ - if(player.removeFood(1)){ + if(!player.removeFood(1)){ player.removePrestige(2); } } diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Orders/OrderPlayer.java b/src/main/java/it/polimi/ingsw/gc14/Model/Orders/OrderPlayer.java index 360bebc..56ac136 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Orders/OrderPlayer.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Orders/OrderPlayer.java @@ -3,9 +3,10 @@ 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. + * Abstract base class for all order {@code logic cards}. + * An {@code OrderLogicCard} manages a queue of {@code players} and defines the effects + * applied when they are pushed back into the queue. + * @see it.polimi.ingsw.gc14.Model.Player Player */ public class OrderPlayer{ public Player player; From 4360cf023de6f1149e0709e12639a9f9f0da28c7 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 18:10:37 +0200 Subject: [PATCH 16/23] Add: Added Javadoc For "toString" Method In Game.java. --- src/main/java/it/polimi/ingsw/gc14/Model/Game.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Game.java b/src/main/java/it/polimi/ingsw/gc14/Model/Game.java index 893ea24..054b2f6 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Game.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Game.java @@ -703,6 +703,16 @@ public class Game implements Serializable { return true; } + /** + * Prints a string representation of the {@code Game}. Used in the TUI implementation to draw: + *

  • {@link it.polimi.ingsw.gc14.Model.GamePackage.Board Board} + *
  • {@link it.polimi.ingsw.gc14.Model.Player Players} + *
  • {@link #getUpperListTribeCards() Upper TribeCard List}
  • {@link #getUpperListBuilding() Upper Building List} + *
  • {@link #getLowerListTribeCards() Lower TribeCard List}
  • {@link #getLowerListBuilding() Lower Building List} + *
  • {@link it.polimi.ingsw.gc14.Model.OrderLogicCard Offer Track} + * + * @return {@code String} - a string representation of the {@code Game}. + */ @Override public String toString() { var table = new AsciiTable(BorderStyle.UNICODE, slotMap.size()); From ff6953e5237cf0d1627c92c88978135a38d41c03 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 18:19:29 +0200 Subject: [PATCH 17/23] Add: Added Javadoc For "toStringBoard" Method In PlayableCard.java. --- .../java/it/polimi/ingsw/gc14/Model/PlayableCard.java | 8 ++++++++ 1 file changed, 8 insertions(+) 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 386f731..f2446bd 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/PlayableCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/PlayableCard.java @@ -45,6 +45,14 @@ public abstract class PlayableCard implements Serializable { public String toString() { return "⎕:"; } + + /** + * Prints a string representation of this {@code PlayableCard}. This specific variation is used in the {@code Game}'s + * toString to print a more detailed version (in this specific case the two methods are equal). + * @return {@code String} - a string representation of this {@code PlayableCard}. + * @see it.polimi.ingsw.gc14.Model.Game Game + * @see it.polimi.ingsw.gc14.Model.GamePackage.Board Board + */ public String toStringBoard() { return "⎕:"; From 6826886d4b73fa26d625057bbbb722785ffc118c Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 18:19:46 +0200 Subject: [PATCH 18/23] Add: Added Javadoc For "toStringTUI" Method In Slot.java. --- src/main/java/it/polimi/ingsw/gc14/Model/Slot.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Slot.java b/src/main/java/it/polimi/ingsw/gc14/Model/Slot.java index 456ee1a..5ec72db 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Slot.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Slot.java @@ -156,6 +156,19 @@ public class Slot implements Serializable { } + /** + * Prints a string representation of this {@code Slot}. This specific variation is used in the {@code Game}'s + * toString to print a more detailed version for the TUI implementation. + *

    includes: + *

  • {@link #slotId SlotId} + *
  • {@link #NUpper NUpper} + *
  • {@link #NLower NLower} + *
  • {@link #Food Food} + *

    + * @return {@code String} - a string representation of this {@code Slot}. + * @see it.polimi.ingsw.gc14.Model.Game Game + * @see it.polimi.ingsw.gc14.Model.GamePackage.Board Board + */ public String toStringTUI() { StringBuilder s = new StringBuilder(); From 9992808426c45d8134ef90de2f47b24a24b13efd Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 18:39:16 +0200 Subject: [PATCH 19/23] Add: Added Javadoc For "getPosition" Method And "playerList" Field In OrderLogicCard.java. --- .../it/polimi/ingsw/gc14/Model/OrderLogicCard.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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 84eb72c..5a970db 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/OrderLogicCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/OrderLogicCard.java @@ -12,9 +12,13 @@ import java.util.stream.Collectors; public abstract class OrderLogicCard implements Serializable { /** - * The queue of players associated with this order logic card. + * The queue of {@link Player Players} associated with this order logic card. */ protected Queue players; + + /** + * The list of {@link Player Players} associated with this order logic card. + */ protected List playerList; @@ -98,6 +102,12 @@ public abstract class OrderLogicCard implements Serializable { player.addFood(1); } + /** + * Returns the {@code Player}'s position based on it's {@code Username}. + * @param username The desired {@code Player}'s username. + * @return {@code int} - the {@code Player}'s position. + * @see Player + */ protected int getPosition(String username) { int pos = 0; From b3ece597e1150d68848845d2d6bbd1a456338c01 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 18:49:43 +0200 Subject: [PATCH 20/23] Add: TODO. --- .../polimi/ingsw/gc14/ClientLauncherTUI.java | 2 +- .../gc14/Controller/ClientController.java | 13 ++++++++---- .../it/polimi/ingsw/gc14/LimitedList.java | 9 ++++++++ .../Cards/Building/Effects/Building13.java | 1 - .../Cards/TribeCards/Characters/Builder.java | 4 +--- .../Cards/TribeCards/Characters/Gatherer.java | 1 - .../Cards/TribeCards/Characters/Shaman.java | 2 -- .../polimi/ingsw/gc14/Model/DecksCreator.java | 17 ++++++++++++--- .../ingsw/gc14/Network/NetworkEvent.java | 17 +++++++++++++++ .../gc14/Network/NetworkEvents/AddPlayer.java | 8 +++++++ .../NetworkEvents/DrawLowerBuildingCard.java | 5 +++++ .../NetworkEvents/DrawLowerTribeCard.java | 4 ++++ .../NetworkEvents/DrawUpperBuildingCard.java | 5 +++++ .../NetworkEvents/DrawUpperTribeCard.java | 5 +++++ .../PickOptionalBuildingCard.java | 5 +++++ .../NetworkEvents/PickOptionalTribeCard.java | 6 ++++++ .../Network/NetworkEvents/SlotChoice.java | 5 +++++ .../gc14/Network/RMI/Client/RMIClient.java | 2 +- .../ingsw/gc14/View/TUI/AsciiTable.java | 21 +++++++++++++++++++ 19 files changed, 116 insertions(+), 16 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/ClientLauncherTUI.java b/src/main/java/it/polimi/ingsw/gc14/ClientLauncherTUI.java index 8da0d9e..cec543c 100644 --- a/src/main/java/it/polimi/ingsw/gc14/ClientLauncherTUI.java +++ b/src/main/java/it/polimi/ingsw/gc14/ClientLauncherTUI.java @@ -2,10 +2,10 @@ package it.polimi.ingsw.gc14; import it.polimi.ingsw.gc14.Controller.ClientController; import it.polimi.ingsw.gc14.Network.RMI.Client.RMIClient; import it.polimi.ingsw.gc14.View.IView; - import java.util.Scanner; public class ClientLauncherTUI { + //TODO Javadoc public void main() throws InterruptedException { ClientController controller = new ClientController(); diff --git a/src/main/java/it/polimi/ingsw/gc14/Controller/ClientController.java b/src/main/java/it/polimi/ingsw/gc14/Controller/ClientController.java index 1da7933..e41a0b1 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Controller/ClientController.java +++ b/src/main/java/it/polimi/ingsw/gc14/Controller/ClientController.java @@ -4,18 +4,25 @@ import it.polimi.ingsw.gc14.Model.Game; import it.polimi.ingsw.gc14.Network.Observer; import it.polimi.ingsw.gc14.View.IView; +//TODO Javadoc public class ClientController { - + //TODO Javadoc public Game localModel; + + //TODO Javadoc public GameController localController; + + //TODO Javadoc public IView view=null; + //TODO Javadoc public ClientController(IView view,Game localModel) { this.view = view; this.localModel = localModel; this.localController = new GameController(localModel); } + //TODO Javadoc public ClientController() { this.localController = new GameController(localModel); } @@ -26,10 +33,8 @@ public class ClientController { // localModel.addObserver((Observer) view); // registra la view come observer } - - + //TODO Javadoc public void onError(String message) { view.showError(message); } - } diff --git a/src/main/java/it/polimi/ingsw/gc14/LimitedList.java b/src/main/java/it/polimi/ingsw/gc14/LimitedList.java index 6aa8cf9..ad351d0 100644 --- a/src/main/java/it/polimi/ingsw/gc14/LimitedList.java +++ b/src/main/java/it/polimi/ingsw/gc14/LimitedList.java @@ -2,15 +2,21 @@ package it.polimi.ingsw.gc14; import java.util.ArrayList; +//TODO Javadoc public class LimitedList extends ArrayList { + //TODO Javadoc private int limit; + + //TODO Javadoc private Runnable action; + //TODO Javadoc public LimitedList(int limit, Runnable action) { this.limit = limit; this.action = action; } + //TODO Javadoc @Override public boolean add(T element) { boolean result = super.add(element); @@ -20,12 +26,15 @@ public class LimitedList extends ArrayList { return result; } + //TODO Javadoc public void setLimit(int num) { this.limit=num; } + //TODO Javadoc public int getLimit(){return limit;} + //TODO Javadoc public void setAction(Runnable action) { this.action=action; } diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13.java index 32cc32e..9c049dd 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13.java @@ -5,7 +5,6 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard; import it.polimi.ingsw.gc14.Model.Player; public class Building13 extends BuildingCard{ - /** * Creates a Building13 card with the specified era, price, and prestige value. * 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 e5c5642..0204d5f 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 @@ -4,9 +4,7 @@ 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; -public class Builder extends Character -{ - +public class Builder extends Character { /** * The reduction value provided by this Builder card. */ 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 f74149b..9c438a6 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 @@ -5,7 +5,6 @@ import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType; import it.polimi.ingsw.gc14.Model.Player; public class Gatherer extends Character { - /** * Creates a Gatherer character card with the specified era. * 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 2259ca7..2b3f5cc 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 @@ -6,8 +6,6 @@ import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType; import it.polimi.ingsw.gc14.Model.Player; public class Shaman extends Character { - - /** * The number of star {@code Icons} the card possesses. * During the {@link it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.ShamanicRitual Shamanic Ritual Event}, having the diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/DecksCreator.java b/src/main/java/it/polimi/ingsw/gc14/Model/DecksCreator.java index ea2df87..4b7388a 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/DecksCreator.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/DecksCreator.java @@ -1,7 +1,6 @@ package it.polimi.ingsw.gc14.Model; import com.google.gson.*; -import it.polimi.ingsw.gc14.Model.Cards.Building.EffectType; import it.polimi.ingsw.gc14.Model.Cards.Building.Effects.*; import it.polimi.ingsw.gc14.Model.Cards.BuildingCard; import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType; @@ -16,9 +15,10 @@ import java.io.*; import java.lang.reflect.Type; import java.util.*; - +//TODO javadoc public class DecksCreator { + //TODO javadoc public static List loadTribeDeckByEra(int era) throws IllegalArgumentException { return switch (era) { @@ -28,6 +28,8 @@ public class DecksCreator { default -> throw new IllegalArgumentException(); }; } + + //TODO javadoc public static List loadTribeDeck(String resourcePath) { Gson gson = new Gson(); Type listType = new com.google.gson.reflect.TypeToken>(){}.getType(); @@ -48,11 +50,15 @@ public class DecksCreator { throw new RuntimeException("Errore caricamento mazzo: " + resourcePath, e); } } + + //TODO javadoc public static List loadBuildingDeckByEra(int era) throws IllegalArgumentException { if(era<=0 || era>3) throw new IllegalArgumentException(); return loadBuildingDeck("/Cards/buildingCards.json").stream().filter(x->x.getEra()==era).toList(); } + + //TODO javadoc public static List loadBuildingDeck(String resourcePath) { Gson gson = new Gson(); Type listType = new com.google.gson.reflect.TypeToken>(){}.getType(); @@ -74,6 +80,7 @@ public class DecksCreator { } } + //TODO javadoc public static List loadSlotDeck() { List slots = new ArrayList<>(); @@ -82,6 +89,8 @@ public class DecksCreator { slots.add(new Slot(c)); return slots; } + + //TODO javadoc private static TribeCard createCard(TribeCardDefinition def) { int era = def.era; @@ -129,6 +138,7 @@ public class DecksCreator { }; } + //TODO javadoc private static BuildingCard createCard(BuildingCardDefinition def) { return switch (def.effectId) { case 0 -> new Building0(def.era, def.price, def.prestigeValue); @@ -143,7 +153,7 @@ public class DecksCreator { } - + //TODO javadoc private static class TribeCardDefinition { String type; int era; @@ -152,6 +162,7 @@ public class DecksCreator { List params; // Object per gestire boolean e int misti } + //TODO javadoc private static class BuildingCardDefinition { int effectId; int era; diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvent.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvent.java index 1a5d50c..e38e7a3 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvent.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvent.java @@ -4,23 +4,39 @@ import it.polimi.ingsw.gc14.Controller.GameController; import java.io.Serializable; +//TODO javadoc public abstract class NetworkEvent implements Serializable { + //TODO javadoc protected String username; + + //TODO javadoc public String getUsername() { return username; } + + //TODO javadoc protected EventType eventType; + + //TODO javadoc public EventType getEventType() {return eventType;} + + //TODO javadoc protected boolean isError; + + //TODO javadoc public boolean getIsError() {return isError;} + + //TODO javadoc public void setIsError(boolean isError) {this.isError = isError;} + //TODO javadoc protected NetworkEvent(String username, EventType eventType, boolean isError) { this.username = username; this.eventType = eventType; this.isError = isError; } + //TODO javadoc @Override public String toString() { if(isError) { @@ -30,5 +46,6 @@ public abstract class NetworkEvent implements Serializable { } } + //TODO javadoc public abstract boolean apply(GameController gameController); } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/AddPlayer.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/AddPlayer.java index 8466942..54b633a 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/AddPlayer.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/AddPlayer.java @@ -7,15 +7,23 @@ import it.polimi.ingsw.gc14.View.IView; import java.io.Serializable; +//TODO javadoc public class AddPlayer extends NetworkEvent implements Serializable { + //TODO javadoc private int proposedNPlayer; + + //TODO javadoc public int getProposedNPlayer() { return proposedNPlayer; } + + //TODO javadoc public AddPlayer(String username, int proposedNPlayer) { super(username, EventType.ADD_PLAYER, false); this.proposedNPlayer = proposedNPlayer; } + + //TODO javadoc @Override public boolean apply(GameController gameController) { diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerBuildingCard.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerBuildingCard.java index 5656ac8..a160629 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerBuildingCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerBuildingCard.java @@ -7,19 +7,24 @@ import it.polimi.ingsw.gc14.View.IView; import java.io.Serializable; +//TODO javadoc public class DrawLowerBuildingCard extends NetworkEvent implements Serializable{ + //TODO javadoc private int pos; + //TODO javadoc public DrawLowerBuildingCard(String username, int pos){ super(username, EventType.DRAW_LOWER_BUILD, false); this.pos = pos; } + //TODO javadoc @Override public boolean apply(GameController gameController){ return gameController.drawLowerBuildingCard(username, pos); } + //TODO javadoc public String apply(IView gameController){ return gameController.toString(); } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerTribeCard.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerTribeCard.java index 277627a..f0109c8 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerTribeCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawLowerTribeCard.java @@ -8,18 +8,22 @@ import it.polimi.ingsw.gc14.View.IView; import java.io.Serializable; public class DrawLowerTribeCard extends NetworkEvent implements Serializable{ + //TODO javadoc private int pos; + //TODO javadoc public DrawLowerTribeCard(String username, int pos){ super(username, EventType.DRAW_LOWER_TRIBE, false); this.pos = pos; } + //TODO javadoc @Override public boolean apply(GameController gameController){ return gameController.drawLowerTribeCard(username, pos); } + //TODO javadoc public String apply(IView gameController){ return gameController.toString(); } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperBuildingCard.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperBuildingCard.java index 6fb06cf..56be872 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperBuildingCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperBuildingCard.java @@ -7,19 +7,24 @@ import it.polimi.ingsw.gc14.View.IView; import java.io.Serializable; +//TODO javadoc public class DrawUpperBuildingCard extends NetworkEvent implements Serializable{ + //TODO javadoc private int pos; + //TODO javadoc public DrawUpperBuildingCard(String username, int pos){ super(username, EventType.DRAW_UPPER_BUILD, false); this.pos = pos; } + //TODO javadoc @Override public boolean apply(GameController gameController){ return gameController.drawUpperBuildingCard(username, pos); } + //TODO javadoc public String apply(IView gameController){ return gameController.toString(); } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperTribeCard.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperTribeCard.java index 8d37f02..4cdbc7e 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperTribeCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/DrawUpperTribeCard.java @@ -7,19 +7,24 @@ import it.polimi.ingsw.gc14.View.IView; import java.io.Serializable; +//TODO javadoc public class DrawUpperTribeCard extends NetworkEvent implements Serializable{ + //TODO javadoc private int pos; + //TODO javadoc public DrawUpperTribeCard(String username, int pos){ super(username, EventType.DRAW_UPPER_TRIBE, false); this.pos = pos; } + //TODO javadoc @Override public boolean apply(GameController gameController){ return gameController.drawUpperTribeCard(username, pos); } + //TODO javadoc public String apply(IView gameController){ return gameController.toString(); } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/PickOptionalBuildingCard.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/PickOptionalBuildingCard.java index 36be45c..1996398 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/PickOptionalBuildingCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/PickOptionalBuildingCard.java @@ -7,19 +7,24 @@ import it.polimi.ingsw.gc14.View.IView; import java.io.Serializable; +//TODO javadoc public class PickOptionalBuildingCard extends NetworkEvent implements Serializable{ + //TODO javadoc private int pos; + //TODO javadoc public PickOptionalBuildingCard(String username, int pos){ super(username, EventType.PICK_OPTIONAL_BUILD, false); this.pos = pos; } + //TODO javadoc @Override public boolean apply(GameController gameController){ return gameController.pickOptionalBuildingCard(username, pos); } + //TODO javadoc public String apply(IView gameController){ return gameController.toString(); } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/PickOptionalTribeCard.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/PickOptionalTribeCard.java index f2dadac..0ad9def 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/PickOptionalTribeCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/PickOptionalTribeCard.java @@ -7,19 +7,25 @@ import it.polimi.ingsw.gc14.View.IView; import java.io.Serializable; +//TODO javadoc + public class PickOptionalTribeCard extends NetworkEvent implements Serializable{ + //TODO javadoc private int pos; + //TODO javadoc public PickOptionalTribeCard(String username, int pos){ super(username, EventType.PICK_OPTIONAL_TRIBE, false); this.pos = pos; } + //TODO javadoc @Override public boolean apply(GameController gameController){ return gameController.pickOptionalTribeCard(username, pos); } + //TODO javadoc public String apply(IView gameController){ return gameController.toString(); } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SlotChoice.java b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SlotChoice.java index 4bf0d12..e22e491 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SlotChoice.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/NetworkEvents/SlotChoice.java @@ -7,19 +7,24 @@ import it.polimi.ingsw.gc14.View.IView; import java.io.Serializable; +//TODO javadoc public class SlotChoice extends NetworkEvent implements Serializable { + //TODO javadoc private int pos; + //TODO javadoc public SlotChoice(String username, int pos) { super(username, EventType.SLOT_CHOICE, false); this.pos = pos; } + //TODO javadoc @Override public boolean apply(GameController gameController) { return gameController.slotChoice(username, pos); } + //TODO javadoc public String apply(IView gameController) { return gameController.toString(); } diff --git a/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Client/RMIClient.java b/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Client/RMIClient.java index 19bd574..fda4005 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Client/RMIClient.java +++ b/src/main/java/it/polimi/ingsw/gc14/Network/RMI/Client/RMIClient.java @@ -33,7 +33,7 @@ public class RMIClient { this.port = port; } - + //TODO Javadoc fix /** * Connects to the RMI server and attempts to join the game. * Looks up the RMI registry to retrieve the {@link IGameServer} stub. 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 8fad4eb..26ccb31 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 @@ -1,22 +1,39 @@ package it.polimi.ingsw.gc14.View.TUI; import java.util.*; +//TODO javadoc // Helper generale per costruire tabelle ASCII public class AsciiTable { + //TODO javadoc private final BorderStyle s; + + //TODO javadoc private final int cols; + + //TODO javadoc private final List> rows = new ArrayList<>(); + + //TODO javadoc private final List separators = new ArrayList<>(); + //TODO javadoc public AsciiTable(BorderStyle s, int cols) { this.s = s; this.cols = cols; } + //TODO javadoc public void addRow(String... cells) { rows.add(Arrays.asList(cells)); } + + //TODO javadoc public void addRow(List cells) { rows.add(cells); } + + //TODO javadoc public void addHeader(String... cells) { rows.add(0, Arrays.asList(cells)); separators.add(0); } + + //TODO javadoc public void addSeparator() { separators.add(rows.size()-1); } + //TODO javadoc public String build() { var sb = new StringBuilder(); int maxWidth = rows.stream().mapToInt(x->x.stream().mapToInt(y->y.length()).max().getAsInt()).max().getAsInt()+1; @@ -34,6 +51,7 @@ public class AsciiTable { return sb.toString(); } + //TODO javadoc private String hline(String l, String m, String r,int maxWidth) { var sb = new StringBuilder(l); for (int i = 0; i < cols; i++) { @@ -43,10 +61,13 @@ public class AsciiTable { return sb.append(r).toString(); } + //TODO javadoc private static String rpad(String s, int w) { if (s.length() >= w) return s.substring(0, w); return s + " ".repeat(w - s.length()); } + + //TODO javadoc public static String sideBySide(List left, List right, int gap) { int leftWidth = left.stream().mapToInt(String::length).max().orElse(0); int maxHeight = Math.max(left.size(), right.size()); From 6141395ba340503c6d0fd84a2b0c07079f4c13bf Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 18:55:03 +0200 Subject: [PATCH 21/23] Add: Added Javadoc For "toString" Method And "icon" Field In Building11.java. --- .../Model/Cards/Building/Effects/Building11.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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 543adcf..eefff8a 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 @@ -7,6 +7,9 @@ import it.polimi.ingsw.gc14.Model.Player; public class Building11 extends BuildingCard { + /** + * The icon attribute indicates the character type involved in the building effect. + */ private CharacterType icon ; /** @@ -68,6 +71,17 @@ public class Building11 extends BuildingCard { player.addPrestige(player.getNType(getIcon()) * this.getPrestigeMul()); } + /** + * Prints a string representation of this {@code Building1}. This specific variation is used in the {@code Game}'s + * toString to print a more detailed version. + *

    includes: + *

  • {@link #icon Icon} + *
  • {@link #PrestigeMul Prestige Multiplier} + *

    + * @return {@code String} - a string representation of this {@code Building1}. + * @see it.polimi.ingsw.gc14.Model.Game Game + * @see it.polimi.ingsw.gc14.Model.GamePackage.Board Board + */ @Override public String toString() { return super.toString() + " Icon: " + this.icon.toString().charAt(0) + " MP: " + this.PrestigeMul; From 5813600a4da1c569a73cadc38ed572f65b2f6271 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 18:55:19 +0200 Subject: [PATCH 22/23] Add: Added Javadoc For "toString" Method In Building1.java. --- .../gc14/Model/Cards/Building/Effects/Building1.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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 e0b064c..e63df7c 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 @@ -4,7 +4,6 @@ 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.CharacterType; - /** * During the Sustenance Event, you have a discount of 1 food token on the total you * would have to pay, for each of the indicated characters in your tribe. @@ -44,6 +43,16 @@ public class Building1 extends BuildingCard { return new Building1(getEra(),getPrice(),getPrestigeValue(),getIcon()); } + /** + * Prints a string representation of this {@code Building1}. This specific variation is used in the {@code Game}'s + * toString to print a more detailed version. + *

    includes: + *

  • {@link #icon Icon} + *

    + * @return {@code String} - a string representation of this {@code Building1}. + * @see it.polimi.ingsw.gc14.Model.Game Game + * @see it.polimi.ingsw.gc14.Model.GamePackage.Board Board + */ @Override public String toString() { return super.toString() + " Icon: " + this.icon.toString().charAt(0); From cca3b5224f6879c937dfd3dc8cfd9383395967a2 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Thu, 30 Apr 2026 19:03:47 +0200 Subject: [PATCH 23/23] Fix: Removed Redundant TODO. --- src/main/java/it/polimi/ingsw/gc14/Model/Player.java | 7 ------- 1 file changed, 7 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 82151f8..c3eaf90 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Player.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Player.java @@ -124,13 +124,6 @@ public class Player implements Serializable { public int getPrestigeValue() { return PrestigeValue; } - - /* TODO - * private Game game; - * public Game getGame(){ - * return Game; - * } - */ // endregion getters // region Setters