Building8 added

This commit is contained in:
2026-03-15 22:11:50 +01:00
parent bcd5dd76a4
commit cce93847a9
2 changed files with 48 additions and 5 deletions
@@ -0,0 +1,34 @@
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.Characters.Builder;
import it.polimi.ingsw.gc14.Model.Player;
import java.util.ArrayList;
import java.util.stream.Collectors;
public class Building8 extends BuildingCard {
public Building8(int era, int price) {
super(era,price);
effectType= EffectType.FINAL;
effectId=5;
}
@Override
public BuildingCard clone() {
return new Building8(getEra(),getPrice());
}
@Override
public void applyEffect(Player player) {
ArrayList<Builder> builders = player.getCharacterCards().stream()
.filter(c -> c instanceof Builder)
.map(c -> (Builder) c)
.collect(Collectors.toCollection(ArrayList::new));
for (Builder builder : builders) {
player.addPrestige(builder.getPrestigeValue() * 2);
}
}
}
@@ -6,7 +6,7 @@ import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType;
public class Builder extends Character
{
private int reductionValue;
private int prestigeValue;
/**
*
* @return Builder specific reduction value
@@ -14,19 +14,28 @@ public class Builder extends Character
public int getReductionValue() {
return reductionValue;
}
public Builder(int Era, int reductionValue) throws IllegalArgumentException {
public int getPrestigeValue() {
return prestigeValue;
}
public Builder(int Era, int reductionValue, int prestigeValue) throws IllegalArgumentException {
super(Era,CharacterType.BUILDER);
if(reductionValue < 0) {
throw new IllegalArgumentException();
}
this.reductionValue = reductionValue;
if(prestigeValue < 0) {
throw new IllegalArgumentException();
}
this.prestigeValue = prestigeValue;
}
public Builder(Builder copy)
{
this(copy.getEra(),copy.getReductionValue());
this(copy.getEra(),copy.getReductionValue(), copy.getPrestigeValue());
}
@Override
public String toString() { return super.toString()+" Reduction Value: " + String.valueOf(reductionValue); }
public String toString() { return super.toString()+" Reduction Value: " + String.valueOf(reductionValue) + "\n Prestige Value: " + String.valueOf(prestigeValue); }
@Override
public Character clone() {