Fix: building

This commit is contained in:
rubenpirreram
2026-03-15 17:40:33 +01:00
parent d24fc6b4f5
commit 9d420ff542
4 changed files with 42 additions and 18 deletions
@@ -1,21 +1,20 @@
package it.polimi.ingsw.gc14.Model.Cards.Building.Effects; package it.polimi.ingsw.gc14.Model.Cards.Building.Effects;
import it.polimi.ingsw.gc14.Model.Cards.Building.BuildingEffect;
import it.polimi.ingsw.gc14.Model.Cards.Building.EffectType; import it.polimi.ingsw.gc14.Model.Cards.Building.EffectType;
import it.polimi.ingsw.gc14.Model.Cards.TribeCard; import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType;
import it.polimi.ingsw.gc14.Model.Player; import it.polimi.ingsw.gc14.Model.Player;
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character;
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.Set;
public class Effect0 extends BuildingEffect { public class Building0 extends BuildingCard {
boolean purchased ; boolean purchased ;
int numSet; int numSet;
public Effect0() { public Building0(int era,int price,EffectType effectType) {
super(EffectType.CARDSET,0); super(era,price,0,EffectType.CARDSET);
purchased = false; purchased = false;
numSet = 0; numSet = 0;
} }
@@ -23,20 +22,26 @@ public class Effect0 extends BuildingEffect {
public void setSetCards(Player player) public void setSetCards(Player player)
{ {
if(purchased) if(purchased)
{ {
return; return;
} }
HashMap<CharacterType,Integer> map = new HashMap<CharacterType,Integer>(); HashMap<CharacterType,Integer> map = new HashMap<CharacterType,Integer>();
for(TribeCard c : player.getTribeCards()) for(CharacterType type : CharacterType.values())
{
map.put(type,0);
}
for(Character c : player.getCharacterCards())
{ {
} }
purchased = true; purchased = true;
} }
@Override
public BuildingCard clone() {
return new Building0(getEra(),getPrice(),getEffectType());
}
@Override @Override
public void applyEffect(ArrayList<Player> players) { public void applyEffect(ArrayList<Player> players) {
for (Player p : players) { for (Player p : players) {
@@ -1,20 +1,34 @@
package it.polimi.ingsw.gc14.Model.Cards; package it.polimi.ingsw.gc14.Model.Cards;
import it.polimi.ingsw.gc14.Model.Cards.Building.BuildingEffect; import it.polimi.ingsw.gc14.Model.Cards.Building.EffectType;
import it.polimi.ingsw.gc14.Model.PlayableCard; import it.polimi.ingsw.gc14.Model.PlayableCard;
import it.polimi.ingsw.gc14.Model.Player;
public class BuildingCard extends PlayableCard { import java.util.ArrayList;
public abstract class BuildingCard extends PlayableCard implements Cloneable {
private int price; private int price;
public int getPrice() { public int getPrice() {
return price; return price;
} }
private BuildingEffect buildingEffect;
public BuildingEffect getBuildingEffect() { private int effectId;
return buildingEffect; public int getEffectId(){
return effectId;
} }
private BuildingCard(int era,int price,BuildingEffect buildingEffect) { private EffectType effectType;
public EffectType getEffectType() {
return effectType;
}
public BuildingCard(int era,int price,int effectId,EffectType effectType) {
super(era); super(era);
this.price = price; this.price = price;
this.buildingEffect = buildingEffect; this.effectId=effectId;
this.effectType = effectType;
} }
@Override
public abstract BuildingCard clone() ;
public abstract void applyEffect(ArrayList<Player> players);
} }
@@ -26,7 +26,11 @@ public class Player {
private ArrayList <BuildingCard> BuildingCards; private ArrayList <BuildingCard> BuildingCards;
public ArrayList <BuildingCard> getBuildingCards() { public ArrayList <BuildingCard> getBuildingCards() {
return BuildingCards; ArrayList <BuildingCard> copy = new ArrayList <>();
for(BuildingCard building:BuildingCards){
copy.add(building.clone());
}
return copy;
} }
private int FoodValue; private int FoodValue;
+1
View File
@@ -5,6 +5,7 @@ module it.polimi.ingsw.gc14 {
requires org.controlsfx.controls; requires org.controlsfx.controls;
requires java.rmi; requires java.rmi;
requires java.smartcardio; requires java.smartcardio;
requires it.polimi.ingsw.gc14;
opens it.polimi.ingsw.gc14 to javafx.fxml; opens it.polimi.ingsw.gc14 to javafx.fxml;
exports it.polimi.ingsw.gc14; exports it.polimi.ingsw.gc14;