From b879b7401b742a79ab3a6157a000372b7d03deb0 Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Fri, 13 Mar 2026 20:29:57 +0100 Subject: [PATCH] Player, Slot, Events added --- .../Model/Cards/TribeCards/Character.java | 2 +- .../Model/Cards/TribeCards/EventCard.java | 29 +++++ .../Model/Cards/TribeCards/EventType.java | 5 + .../TribeCards/Events/CavePaintings.java | 18 ++++ .../Model/Cards/TribeCards/Events/Hunt.java | 18 ++++ .../TribeCards/Events/ShamanicRitual.java | 18 ++++ .../Cards/TribeCards/Events/Sustenance.java | 18 ++++ .../it/polimi/ingsw/gc14/Model/Player.java | 100 ++++++++++++++++++ .../java/it/polimi/ingsw/gc14/Model/Slot.java | 37 +++++++ 9 files changed, 244 insertions(+), 1 deletion(-) create mode 100644 src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/EventCard.java create mode 100644 src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/EventType.java create mode 100644 src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/CavePaintings.java create mode 100644 src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Hunt.java create mode 100644 src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/ShamanicRitual.java create mode 100644 src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Sustenance.java create mode 100644 src/main/java/it/polimi/ingsw/gc14/Model/Player.java create mode 100644 src/main/java/it/polimi/ingsw/gc14/Model/Slot.java 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 4e37b01..4018ff6 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 @@ -3,7 +3,7 @@ package it.polimi.ingsw.gc14.Model.Cards.TribeCards; import it.polimi.ingsw.gc14.Model.Cards.TribeCard; public abstract class Character extends TribeCard { - private CharacterType type; + private CharacterType type; public CharacterType getType() { return type; } 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 new file mode 100644 index 0000000..970d46c --- /dev/null +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/EventCard.java @@ -0,0 +1,29 @@ +package it.polimi.ingsw.gc14.Model.Cards.TribeCards; + +import it.polimi.ingsw.gc14.Model.Cards.TribeCard; +import it.polimi.ingsw.gc14.Model.Player; + +import java.util.ArrayList; +import javax.smartcardio.Card; +import java.lang.reflect.Array; + +public abstract class EventCard extends TribeCard { + // Getters + private EventType type; + public EventType getType() { return type; } + // End getters + + // Constructors + public EventCard(int Era, EventType type) { + super(Era); + this.type = type; + } + // End Constructors + + // Function + // TODO + public abstract void activateEvent (ArrayList playerList); + // End Functions +} + + diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/EventType.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/EventType.java new file mode 100644 index 0000000..f0e5a08 --- /dev/null +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/EventType.java @@ -0,0 +1,5 @@ +package it.polimi.ingsw.gc14.Model.Cards.TribeCards; + +public enum EventType { + SUSTENANCE, SHAMANIC_RITUAL, CAVE_PAINTINGS, HUNT +} 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 new file mode 100644 index 0000000..3a4cd60 --- /dev/null +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/CavePaintings.java @@ -0,0 +1,18 @@ +package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events; + +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventType; +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventCard; +import it.polimi.ingsw.gc14.Model.Player; +import java.util.ArrayList; + +public class CavePaintings extends EventCard { + public CavePaintings(int Era) { + super(Era, EventType.CAVE_PAINTINGS); + } + + // TODO + @Override + public void activateEvent (ArrayList playerList){ + + } +} 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 new file mode 100644 index 0000000..06e880b --- /dev/null +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Hunt.java @@ -0,0 +1,18 @@ +package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events; + +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventType; +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventCard; +import it.polimi.ingsw.gc14.Model.Player; +import java.util.ArrayList; + +public class Hunt extends EventCard { + public Hunt(int Era) { + super(Era, EventType.HUNT); + } + + // TODO + @Override + public void activateEvent (ArrayList playerList){ + + } +} 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 new file mode 100644 index 0000000..55e3502 --- /dev/null +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/ShamanicRitual.java @@ -0,0 +1,18 @@ +package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events; + +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventType; +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventCard; +import it.polimi.ingsw.gc14.Model.Player; +import java.util.ArrayList; + +public class ShamanicRitual extends EventCard { + public ShamanicRitual(int Era) { + super(Era, EventType.SHAMANIC_RITUAL); + } + + // TODO + @Override + public void activateEvent (ArrayList playerList){ + + } +} 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 new file mode 100644 index 0000000..b08828c --- /dev/null +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCards/Events/Sustenance.java @@ -0,0 +1,18 @@ +package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events; + +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventType; +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventCard; +import it.polimi.ingsw.gc14.Model.Player; +import java.util.ArrayList; + +public class Sustenance extends EventCard { + public Sustenance(int Era) { + super(Era, EventType.SUSTENANCE); + } + + // TODO + @Override + public void activateEvent (ArrayList playerList){ + + } +} diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Player.java b/src/main/java/it/polimi/ingsw/gc14/Model/Player.java new file mode 100644 index 0000000..00e46b7 --- /dev/null +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Player.java @@ -0,0 +1,100 @@ +package it.polimi.ingsw.gc14.Model; + +import it.polimi.ingsw.gc14.Model.Cards.BuildingCard; +import it.polimi.ingsw.gc14.Model.Cards.TribeCard; + +import java.util.ArrayList; + +public class Player { + // Getters + private String UserName; + public String getUserName() { + return UserName; + } + + private ArrayList TribeCards; + public ArrayList getTribeCards() { + return TribeCards; + } + + private ArrayList BuildingCards; + public ArrayList getBuildingCards() { + return BuildingCards; + } + + private int FoodValue; + public int getFoodValue() { + return FoodValue; + } + + private int PrestigeValue; + public int getPrestigeValue() { + return PrestigeValue; + } + + /* TODO + * private Game game; + * public Game getGame(){ + * return Game; + * } + */ + // End getters + + // Setters + public void setUserName(String UserName){ + this.UserName = UserName; + } + + public void setTribeCards(ArrayList TribeCards){ + this.TribeCards = TribeCards; + } + + public void setBuildingCards(ArrayList BuildingCards){ + this.BuildingCards = BuildingCards; + } + + public void addFood(int Value){ + this.FoodValue += Value; + } + + public Boolean removeFood(int Value){ + if(Value > this.FoodValue){ + return false; + } + this.FoodValue -= Value; + return true; + } + + public void addPrestige(int Value){ + this.PrestigeValue += Value; + } + + // TODO + public void removePrestige(int Value){ + // check max/min value (605) + this.PrestigeValue -= Value; + } + // End setters + + // Constructors + public Player(String UserName){ + this.UserName = UserName; + this.TribeCards = new ArrayList(); + this.BuildingCards = new ArrayList(); + this.FoodValue = 0; + this.PrestigeValue = 0; + } + // End constructors + + // Functions + // TODO + public void Play(Slot slot){ + + } + + // TODO + public void SlotChoice(){ + + } + // End functions +} diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Slot.java b/src/main/java/it/polimi/ingsw/gc14/Model/Slot.java new file mode 100644 index 0000000..bb47f1e --- /dev/null +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Slot.java @@ -0,0 +1,37 @@ +package it.polimi.ingsw.gc14.Model; + +public class Slot { + // Getters + private int NUpper; + public int getNUpper(){ + return NUpper; + } + + private int NLower; + public int getNLower(){ + return NLower; + } + + private int Food; + public int getFood(){ + return Food; + } + // End getters + + // Setters + // End setters + + // Constructors + public Slot(int NUpper, int NLower, int Food) throws IllegalArgumentException { + this.NUpper = NUpper; + this.NLower = NLower; + this.Food = Food; + if(Food != 0 && (NUpper != 0 || NLower != 0)){ + throw new IllegalArgumentException(); + } + } + // End Constructors + + // Functions + // End functions +}