diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCard.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCard.java index 0135454..00260f9 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCard.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/TribeCard.java @@ -1,5 +1,6 @@ package it.polimi.ingsw.gc14.Model.Cards; +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character; import it.polimi.ingsw.gc14.Model.PlayableCard; public abstract class TribeCard extends PlayableCard { @@ -20,4 +21,6 @@ public abstract class TribeCard extends PlayableCard { this.nMin=nMin; this.isEventCard=isEventCard; } + @Override + public abstract TribeCard clone(); } 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 82d8f11..d77c945 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 @@ -20,7 +20,9 @@ public abstract class EventCard extends TribeCard { // End Constructors // Function - // TODO + @Override + public abstract TribeCard clone(); + public abstract void activateEvent (ArrayList playerList); // End Functions } 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 09918db..f89ca6c 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 @@ -42,4 +42,9 @@ public class CavePaintings extends EventCard { } } } + @Override + public EventCard clone() + { + return new CavePaintings(getEra(), NLower, NPrestigeRem, NPrestigeMul) ; + } } 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 56d5d7e..cc3787e 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 @@ -35,4 +35,8 @@ public class Hunt extends EventCard { player.addPrestige(prestigeMultiplicator * hunterCounter); } } + @Override + public EventCard clone() { + return new Hunt(getEra(), prestigeMultiplicator); + } } 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 fad780d..de9aef0 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 @@ -56,6 +56,10 @@ public class ShamanicRitual extends EventCard { } } + @Override + public EventCard clone() { + return new ShamanicRitual(getEra(), prestigeToAdd, 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 13ec285..00b2a9e 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 @@ -51,4 +51,8 @@ public class Sustenance extends EventCard { } } } + @Override + public EventCard clone() { + return new Sustenance(getEra(), PrestigeDebt); + } } 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 d0553f4..1b4605f 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Game.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Game.java @@ -27,7 +27,30 @@ public class Game { private OrderLogicCard orderLogicCard; private Board board; - public int getnPlayers() { + public Player getPlayerByIndex(int playerIndex) throws IndexOutOfBoundsException { + if(playerIndex >= playersList.size()) + throw new IndexOutOfBoundsException("Player index out of bounds"); + return playersList.get(playerIndex); + } + /* + public TribeCard getUpperTribeCardByIndex(int playerIndex) throws IndexOutOfBoundsException + { + } + public TribeCard getLowerTribeCardByIndex() + { + + } + public BuildingCard getUpperBuildingCardByIndex(int playerIndex) throws IndexOutOfBoundsException + { + + } + public BuildingCard getLowerBuildingCardByIndex(int playerIndex) throws IndexOutOfBoundsException + { + + } + */ + + public int getNPlayers() { return nPlayers; } public Game(int nPlayers) {