From f42cc682c94a2d0fa2c22bf7df0c85a38d97050d Mon Sep 17 00:00:00 2001 From: GabrieleRadice <265572328+GabrieleRadice@users.noreply.github.com> Date: Sun, 15 Mar 2026 18:06:40 +0100 Subject: [PATCH] CavePaintings Event Added --- .../TribeCards/Events/CavePaintings.java | 38 ++++++++++++++++++- 1 file changed, 36 insertions(+), 2 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 3a4cd60..f11a270 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 @@ -1,18 +1,52 @@ package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events; +import it.polimi.ingsw.gc14.Model.Cards.BuildingCard; +import it.polimi.ingsw.gc14.Model.Cards.TribeCard; +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character; +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.Artist; 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) { + private int NUpper; + private int NLower; + private int NPrestigeRem; // NPrestigeLower + private int NPrestigeMul; // NPrestigeUpper + public CavePaintings(int Era, int NUpper, int NLower, int NPrestigeRem, int NPrestigeMul) { super(Era, EventType.CAVE_PAINTINGS); + this.NUpper = NUpper; + this.NLower = NLower; + this.NPrestigeRem = NPrestigeRem; + this.NPrestigeMul = NPrestigeMul; } - // TODO @Override public void activateEvent (ArrayList playerList){ + for (Player player : playerList){ + int NArtists = 0; + int NBuildings = 0; + ArrayList charCards = player.getCharacterCards(); + ArrayList buildingCards = player.getBuildingCards(); + for (Character card : charCards){ + if(card instanceof Artist){ + NArtists++; + } + } + for(BuildingCard card : buildingCards){ + if(card.getEffectId() == 9){ + NBuildings++; + } + } + player.addFood(NBuildings * NArtists); + if (NArtists <= NLower){ + player.removePrestige(NPrestigeRem); + } + else{ + player.addPrestige(NPrestigeMul * NUpper); + } + } } }