From 020ba874ded6b04be06a44f923341bde25b7dae8 Mon Sep 17 00:00:00 2001 From: AleandroPagani Date: Sun, 15 Mar 2026 22:29:55 +0100 Subject: [PATCH] Building 10, 12, 13 added --- .../Cards/Building/Effects/Building10.java | 38 +++++++++++++++++++ .../Cards/Building/Effects/Building12.java | 22 +++++++++++ .../Cards/Building/Effects/Building13.java | 21 ++++++++++ .../Cards/Building/Effects/Building8.java | 2 +- 4 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building10.java create mode 100644 src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building12.java create mode 100644 src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13.java diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building10.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building10.java new file mode 100644 index 0000000..da57707 --- /dev/null +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building10.java @@ -0,0 +1,38 @@ +package it.polimi.ingsw.gc14.Model.Cards.Building.Effects; + +import it.polimi.ingsw.gc14.Model.Cards.Building.EffectType; +import it.polimi.ingsw.gc14.Model.Cards.BuildingCard; +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character; +import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType; +import it.polimi.ingsw.gc14.Model.Player; + +import java.util.HashMap; + +public class Building10 extends BuildingCard { + public Building10(int era, int price) { + super(era,price); + effectType= EffectType.FINAL; + effectId=10; + } + @Override + public BuildingCard clone() { + return new Building8(getEra(),getPrice()); + } + @Override + public void applyEffect(Player player) { + HashMap map = new HashMap(); + + for(CharacterType t : CharacterType.values()) + { + map.put(t, 0); + } + for(Character c : player.getCharacterCards()) + { + map.merge(c.getType(), 1, Integer::sum); + } + int numberOfSet = map.values().stream().min(Integer::compareTo).get(); + + player.addPrestige(6 * numberOfSet); + } + +} diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building12.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building12.java new file mode 100644 index 0000000..b019491 --- /dev/null +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building12.java @@ -0,0 +1,22 @@ +package it.polimi.ingsw.gc14.Model.Cards.Building.Effects; + +import it.polimi.ingsw.gc14.Model.Cards.Building.EffectType; +import it.polimi.ingsw.gc14.Model.Cards.BuildingCard; +import it.polimi.ingsw.gc14.Model.Player; + +public class Building12 extends BuildingCard { + public Building12(int era, int price) { + super(era,price); + effectType= EffectType.ON_ROUND_END; + effectId=12; + } + @Override + public BuildingCard clone() { + return new Building12(getEra(),getPrice()); + } + @Override + // TODO + public void applyEffect(Player player) { + + } +} diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13.java new file mode 100644 index 0000000..65edfe2 --- /dev/null +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building13.java @@ -0,0 +1,21 @@ +package it.polimi.ingsw.gc14.Model.Cards.Building.Effects; + +import it.polimi.ingsw.gc14.Model.Cards.Building.EffectType; +import it.polimi.ingsw.gc14.Model.Cards.BuildingCard; +import it.polimi.ingsw.gc14.Model.Player; + +public class Building13 extends BuildingCard{ + public Building13(int era, int price) { + super(era,price); + effectType= EffectType.FINAL; + effectId=13; + } + @Override + public BuildingCard clone() { + return new Building13(getEra(),getPrice()); + } + @Override + public void applyEffect(Player player) { + player.addPrestige(25); + } +} diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building8.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building8.java index ef9b91d..3f681b2 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building8.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building8.java @@ -13,7 +13,7 @@ public class Building8 extends BuildingCard { public Building8(int era, int price) { super(era,price); effectType= EffectType.FINAL; - effectId=5; + effectId=8; } @Override public BuildingCard clone() {