Merge pull request #24

Javadoc-for-Building-10-11-13
This commit is contained in:
GabrieleRadice
2026-04-12 19:03:06 +02:00
committed by GitHub
3 changed files with 82 additions and 4 deletions
@@ -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))