Add: TribeCard Clone

This commit is contained in:
rubenpirreram
2026-03-27 18:37:33 +01:00
parent 72c219da5a
commit b5589d5dbc
7 changed files with 47 additions and 2 deletions
@@ -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();
}
@@ -20,7 +20,9 @@ public abstract class EventCard extends TribeCard {
// End Constructors
// Function
// TODO
@Override
public abstract TribeCard clone();
public abstract void activateEvent (ArrayList <Player> playerList);
// End Functions
}
@@ -42,4 +42,9 @@ public class CavePaintings extends EventCard {
}
}
}
@Override
public EventCard clone()
{
return new CavePaintings(getEra(), NLower, NPrestigeRem, NPrestigeMul) ;
}
}
@@ -35,4 +35,8 @@ public class Hunt extends EventCard {
player.addPrestige(prestigeMultiplicator * hunterCounter);
}
}
@Override
public EventCard clone() {
return new Hunt(getEra(), prestigeMultiplicator);
}
}
@@ -56,6 +56,10 @@ public class ShamanicRitual extends EventCard {
}
}
@Override
public EventCard clone() {
return new ShamanicRitual(getEra(), prestigeToAdd, prestigeToRemove);
}
}
@@ -51,4 +51,8 @@ public class Sustenance extends EventCard {
}
}
}
@Override
public EventCard clone() {
return new Sustenance(getEra(), PrestigeDebt);
}
}
@@ -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) {