From f3137899931801c18695d4760be30c268eb77877 Mon Sep 17 00:00:00 2001 From: MatteoPellegrino05 Date: Fri, 13 Mar 2026 20:05:24 +0100 Subject: [PATCH] Fix: character implementation --- .../Cards/TribeCards/Characters/Artist.java | 18 +++++++++++- .../Cards/TribeCards/Characters/Builder.java | 28 ++++++++++++++++-- .../TribeCards/Characters/Gatherers.java | 17 ++++++++++- .../Cards/TribeCards/Characters/Hunter.java | 29 ++++++++++++++++++- .../Cards/TribeCards/Characters/Shaman.java | 29 ++++++++++++++++++- src/main/java/module-info.java | 1 + 6 files changed, 116 insertions(+), 6 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Artist.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Artist.java index 427c6e7..79e1d39 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Artist.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Artist.java @@ -1,4 +1,20 @@ package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters; -public class Artist { +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character; +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType; + +public class Artist extends Character { + + /** + * + * param Era artist era + */ + public Artist(int Era) { + super(Era, CharacterType.ARTIST); + } + @Override + public String 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 bb11191..62fc165 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 @@ -1,4 +1,28 @@ package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters; -public class Builder { -} +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character; +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType; + +public class Builder extends Character +{ + private int reductionValue; + + /** + * + * @return Builder specific reduction value + */ + public int getReductionValue() { + return reductionValue; + } + public Builder(int Era, int reductionValue) throws IllegalArgumentException { + super(Era,CharacterType.BUILDER); + if(reductionValue < 0) { + throw new IllegalArgumentException(); + } + this.reductionValue = reductionValue; + } + @Override + public String toString() { return super.toString()+" Reduction Value: " + String.valueOf(reductionValue); + + } +} \ No newline at end of file diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Gatherers.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Gatherers.java index adaf2e9..835f8bb 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Gatherers.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Characters/Gatherers.java @@ -1,4 +1,19 @@ package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters; -public class Gatherers { +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character; +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType; + +public class Gatherers extends Character { + + /** + * + * @param Era gatherers era + */ + public Gatherers(int Era) { + super(Era, CharacterType.GATHERERS); + } + @Override + public String toString() { + return super.toString(); + } } 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 61a0310..52c6845 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 @@ -1,4 +1,31 @@ package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters; -public class Hunter { +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character; +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType; + +public class Hunter extends Character { + private boolean icon; + + /** + * + * @return Hunter specific icon + */ + public boolean getIcon() { + return icon; + } + + /** + * + * @param Era hunter era + * @param icon hunter icon + */ + public Hunter(int Era, boolean icon) { + super(Era, CharacterType.HUNTER); + this.icon = icon; + } + + @Override + public String toString() { + return super.toString() + "Icon: " + 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 86d6d0a..f3179c7 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 @@ -1,4 +1,31 @@ package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters; -public class Shaman { +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character; +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType; + +public class Shaman extends Character { + + private int icon; + + /** + * + * @return Shaman specific icon + */ + public int getIcon() { + return icon; + } + + /** + * + * @param Era shaman era + * @param icon shaman icon + */ + public Shaman(int Era, int icon) { + super(Era, CharacterType.SHAMAN); + this.icon = icon; + } + @Override + public String toString() { + return super.toString() + "icon: " + String.valueOf(icon); + } } diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index 28df87f..9b133b4 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -4,6 +4,7 @@ module it.polimi.ingsw.gc14 { requires org.controlsfx.controls; requires java.rmi; + requires it.polimi.ingsw.gc14; opens it.polimi.ingsw.gc14 to javafx.fxml; exports it.polimi.ingsw.gc14;