@@ -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.Building.EffectType;
|
||||||
import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
|
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.Cards.TribeCards.CharacterType;
|
||||||
import it.polimi.ingsw.gc14.Model.Player;
|
import it.polimi.ingsw.gc14.Model.Player;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
public class Building10 extends BuildingCard {
|
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) {
|
public Building10(int era, int price,int prestigeValue) {
|
||||||
super(era,price,prestigeValue);
|
super(era,price,prestigeValue);
|
||||||
effectType= EffectType.FINAL;
|
effectType= EffectType.FINAL;
|
||||||
effectId=10;
|
effectId=10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates and returns a copy of this Building10 card.
|
||||||
|
*
|
||||||
|
* @return a clone of this Building10 card.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public BuildingCard clone() {
|
public BuildingCard clone() {
|
||||||
return new Building10(getEra(),getPrice(),getPrestigeValue());
|
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
|
@Override
|
||||||
public void applyEffect(Player player) throws IllegalArgumentException {
|
public void applyEffect(Player player) throws IllegalArgumentException {
|
||||||
if(!player.buildingCards.contains(this))
|
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.Cards.TribeCards.CharacterType;
|
||||||
import it.polimi.ingsw.gc14.Model.Player;
|
import it.polimi.ingsw.gc14.Model.Player;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
public class Building11 extends BuildingCard {
|
public class Building11 extends BuildingCard {
|
||||||
private CharacterType icon ;
|
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;}
|
public CharacterType getIcon() {return icon;}
|
||||||
private int PrestigeMul;
|
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;}
|
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) {
|
public Building11(int era, int price,int prestigeValue, CharacterType icon, int prestigeMul) {
|
||||||
super(era,price,prestigeValue);
|
super(era,price,prestigeValue);
|
||||||
effectType = EffectType.FINAL;
|
effectType = EffectType.FINAL;
|
||||||
@@ -21,10 +40,25 @@ public class Building11 extends BuildingCard {
|
|||||||
this.icon = icon;
|
this.icon = icon;
|
||||||
this.PrestigeMul = prestigeMul;
|
this.PrestigeMul = prestigeMul;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates and returns a copy of this Building11 card.
|
||||||
|
*
|
||||||
|
* @return a clone of this Building11 card.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public BuildingCard clone() {
|
public BuildingCard clone() {
|
||||||
return new Building11(getEra(),getPrice(),getPrestigeValue(), getIcon(), getPrestigeMul());
|
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
|
@Override
|
||||||
public void applyEffect(Player player) throws IllegalArgumentException {
|
public void applyEffect(Player player) throws IllegalArgumentException {
|
||||||
if(!player.buildingCards.contains(this))
|
if(!player.buildingCards.contains(this))
|
||||||
|
|||||||
@@ -5,15 +5,36 @@ import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
|
|||||||
import it.polimi.ingsw.gc14.Model.Player;
|
import it.polimi.ingsw.gc14.Model.Player;
|
||||||
|
|
||||||
public class Building13 extends BuildingCard{
|
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) {
|
public Building13(int era, int price,int prestigeValue) {
|
||||||
super(era,price,prestigeValue);
|
super(era,price,prestigeValue);
|
||||||
effectType= EffectType.FINAL;
|
effectType= EffectType.FINAL;
|
||||||
effectId=13;
|
effectId=13;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates and returns a copy of this Building13 card.
|
||||||
|
*
|
||||||
|
* @return a clone of this Building13 card.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public BuildingCard clone() {
|
public BuildingCard clone() {
|
||||||
return new Building13(getEra(),getPrice(),getPrestigeValue());
|
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
|
@Override
|
||||||
public void applyEffect(Player player) throws IllegalArgumentException {
|
public void applyEffect(Player player) throws IllegalArgumentException {
|
||||||
if(!player.buildingCards.contains(this))
|
if(!player.buildingCards.contains(this))
|
||||||
|
|||||||
Reference in New Issue
Block a user