@@ -2,22 +2,45 @@ 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 {
|
||||
|
||||
/**
|
||||
* Creates a Building10 card with the specified era, price, and prestige value.
|
||||
*
|
||||
* @param era the era of the building card.
|
||||
* @param price the price of the building card.
|
||||
* @param prestigeValue the prestige value of the building card.
|
||||
*/
|
||||
public Building10(int era, int price,int prestigeValue) {
|
||||
super(era,price,prestigeValue);
|
||||
effectType= EffectType.FINAL;
|
||||
effectId=10;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and returns a copy of this Building10 card.
|
||||
*
|
||||
* @return a clone of this Building10 card.
|
||||
*/
|
||||
@Override
|
||||
public BuildingCard clone() {
|
||||
return new Building10(getEra(),getPrice(),getPrestigeValue());
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies the effect of this building card to the specified player.
|
||||
* The effect grants 6 prestige points for each complete set of character cards.
|
||||
* owned by the player, where a complete set contains one card of each.
|
||||
* {@link CharacterType}.
|
||||
*
|
||||
* @param player the player to whom the effect is applied.
|
||||
* @throws IllegalArgumentException if the player does not own this building card.
|
||||
*/
|
||||
@Override
|
||||
public void applyEffect(Player player) throws IllegalArgumentException {
|
||||
if(!player.buildingCards.contains(this))
|
||||
|
||||
@@ -5,15 +5,34 @@ 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 java.util.ArrayList;
|
||||
|
||||
public class Building11 extends BuildingCard {
|
||||
private CharacterType icon ;
|
||||
|
||||
/**
|
||||
* Returns the CharacterType associated with this building card effect.
|
||||
*
|
||||
* @return the CharacterType associated with this building card effect.
|
||||
*/
|
||||
public CharacterType getIcon() {return icon;}
|
||||
private int PrestigeMul;
|
||||
|
||||
/**
|
||||
* Returns the prestige multiplier associated with this building card effect.
|
||||
*
|
||||
* @return the prestige multiplier associated with this building card effect.
|
||||
*/
|
||||
public int getPrestigeMul() {return PrestigeMul;}
|
||||
|
||||
|
||||
/**
|
||||
* Creates a Building11 card with the specified era, price, prestige value,
|
||||
* character type icon, and prestige multiplier.
|
||||
*
|
||||
* @param era the era of the building card.
|
||||
* @param price the price of the building card.
|
||||
* @param prestigeValue the prestige value of the building card.
|
||||
* @param icon the CharacterType associated with the building card effect.
|
||||
* @param prestigeMul the prestige multiplier of the building card effect.
|
||||
*/
|
||||
public Building11(int era, int price,int prestigeValue, CharacterType icon, int prestigeMul) {
|
||||
super(era,price,prestigeValue);
|
||||
effectType = EffectType.FINAL;
|
||||
@@ -21,10 +40,25 @@ public class Building11 extends BuildingCard {
|
||||
this.icon = icon;
|
||||
this.PrestigeMul = prestigeMul;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and returns a copy of this Building11 card.
|
||||
*
|
||||
* @return a clone of this Building11 card.
|
||||
*/
|
||||
@Override
|
||||
public BuildingCard clone() {
|
||||
return new Building11(getEra(),getPrice(),getPrestigeValue(), getIcon(), getPrestigeMul());
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies the effect of this building card to the specified player.
|
||||
* The effect grants prestige points equal to the number of cards of the
|
||||
* associated CharacterType owned by the player, multiplied by the prestige multiplier.
|
||||
*
|
||||
* @param player the player to whom the effect is applied-
|
||||
* @throws IllegalArgumentException if the player does not own this building card-
|
||||
*/
|
||||
@Override
|
||||
public void applyEffect(Player player) throws IllegalArgumentException {
|
||||
if(!player.buildingCards.contains(this))
|
||||
|
||||
@@ -5,15 +5,36 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
|
||||
import it.polimi.ingsw.gc14.Model.Player;
|
||||
|
||||
public class Building13 extends BuildingCard{
|
||||
|
||||
/**
|
||||
* Creates a Building13 card with the specified era, price, and prestige value.
|
||||
*
|
||||
* @param era the era of the building card.
|
||||
* @param price the price of the building card.
|
||||
* @param prestigeValue the prestige value of the building card.
|
||||
*/
|
||||
public Building13(int era, int price,int prestigeValue) {
|
||||
super(era,price,prestigeValue);
|
||||
effectType= EffectType.FINAL;
|
||||
effectId=13;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and returns a copy of this Building13 card.
|
||||
*
|
||||
* @return a clone of this Building13 card.
|
||||
*/
|
||||
@Override
|
||||
public BuildingCard clone() {
|
||||
return new Building13(getEra(),getPrice(),getPrestigeValue());
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies the effect of this building card to the specified player.
|
||||
*
|
||||
* @param player the player to whom the effect is applied.
|
||||
* @throws IllegalArgumentException if the player does not own this building card.
|
||||
*/
|
||||
@Override
|
||||
public void applyEffect(Player player) throws IllegalArgumentException {
|
||||
if(!player.buildingCards.contains(this))
|
||||
|
||||
Reference in New Issue
Block a user