From 87d4fd47b89d4701aacf768419ad312ae00ad810 Mon Sep 17 00:00:00 2001 From: rubenpirreram Date: Thu, 19 Mar 2026 18:27:15 +0100 Subject: [PATCH] Fixed: Building Apply Effect , Access Controlled --- .../ingsw/gc14/Model/Cards/Building/Effects/Building0.java | 4 +++- .../ingsw/gc14/Model/Cards/Building/Effects/Building10.java | 4 +++- .../ingsw/gc14/Model/Cards/Building/Effects/Building11.java | 4 +++- .../ingsw/gc14/Model/Cards/Building/Effects/Building13.java | 4 +++- .../ingsw/gc14/Model/Cards/Building/Effects/Building4.java | 4 +++- .../ingsw/gc14/Model/Cards/Building/Effects/Building8.java | 5 +++-- 6 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0.java index 442f6d4..c6bbd8f 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building0.java @@ -54,7 +54,9 @@ public class Building0 extends BuildingCard { return new Building0(getEra(),getPrice()); } @Override - public void applyEffect(Player player) { + public void applyEffect(Player player) throws IllegalArgumentException { + if(!player.buildingCards.contains(this)) + throw new IllegalArgumentException(); int min_temp=player.getNType(CharacterType.INVENTOR); for(CharacterType type : CharacterType.values()) { 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 index e9b5c8a..83c03db 100644 --- 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 @@ -19,7 +19,9 @@ public class Building10 extends BuildingCard { return new Building8(getEra(),getPrice()); } @Override - public void applyEffect(Player player) { + public void applyEffect(Player player) throws IllegalArgumentException { + if(!player.buildingCards.contains(this)) + throw new IllegalArgumentException(); HashMap map = new HashMap(); int numSet=player.getNType(CharacterType.INVENTOR); diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11.java index 052ce6b..7acf4f6 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building11.java @@ -26,7 +26,9 @@ public class Building11 extends BuildingCard { return new Building11(getEra(),getPrice(), getIcon(), getPrestigeMul()); } @Override - public void applyEffect(Player player) { + public void applyEffect(Player player) throws IllegalArgumentException { + if(!player.buildingCards.contains(this)) + throw new IllegalArgumentException(); player.addPrestige(player.getNType(getIcon()) * this.getPrestigeMul()); } } 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 index fe782c5..2f08dfe 100644 --- 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 @@ -15,7 +15,9 @@ public class Building13 extends BuildingCard{ return new Building13(getEra(),getPrice()); } @Override - public void applyEffect(Player player) { + public void applyEffect(Player player) throws IllegalArgumentException { + if(!player.buildingCards.contains(this)) + throw new IllegalArgumentException(); player.addPrestige(25); } @Override diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building4.java b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building4.java index 8fa154b..33c00d2 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building4.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Cards/Building/Effects/Building4.java @@ -56,7 +56,9 @@ public class Building4 extends BuildingCard { return new Building4(getEra(),getPrice()); } @Override - public void applyEffect(Player player) { + public void applyEffect(Player player) throws IllegalArgumentException { + if(!player.buildingCards.contains(this)) + throw new IllegalArgumentException(); HashMap map = new HashMap<>(); for(int i=0;i<10;i++) { 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 f9433c5..05b5c75 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 @@ -20,8 +20,9 @@ public class Building8 extends BuildingCard { return new Building8(getEra(),getPrice()); } @Override - public void applyEffect(Player player) { - + public void applyEffect(Player player) throws IllegalArgumentException { + if(!player.buildingCards.contains(this)) + throw new IllegalArgumentException(); for (Builder builder : player.builders) { player.addPrestige(builder.getPrestigeValue() * 2); }