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.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))