Characters clone method added

This commit is contained in:
rubenpirreram
2026-03-15 15:57:26 +01:00
parent 04472c1ab2
commit d77854f0ac
10 changed files with 61 additions and 4 deletions
@@ -2,14 +2,41 @@ package it.polimi.ingsw.gc14.Model.Cards.Building.Effects;
import it.polimi.ingsw.gc14.Model.Cards.Building.BuildingEffect; import it.polimi.ingsw.gc14.Model.Cards.Building.BuildingEffect;
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.TribeCard;
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; import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
public class Effect0 extends BuildingEffect { public class Effect0 extends BuildingEffect {
boolean purchased ;
int numSet;
public Effect0() { public Effect0() {
super(EffectType.CARDSET,0); super(EffectType.CARDSET,0);
purchased = false;
numSet = 0;
} }
public void setSetCards(Player player)
{
if(purchased)
{
return;
}
HashMap<CharacterType,Integer> map = new HashMap<CharacterType,Integer>();
for(TribeCard c : player.getTribeCards())
{
}
purchased = true;
}
@Override @Override
public void applyEffect(ArrayList<Player> players) { public void applyEffect(ArrayList<Player> players) {
for (Player p : players) { for (Player p : players) {
@@ -17,4 +17,5 @@ public abstract class Character extends TribeCard {
public String toString() { public String toString() {
return super.toString()+" "+type.toString(); return super.toString()+" "+type.toString();
} }
public abstract Character clone() ;
} }
@@ -16,5 +16,10 @@ public class Artist extends Character {
public String toString() { public String toString() {
return super.toString(); return super.toString();
} }
@Override
public Artist clone() {
return new Artist(getEra());
}
} }
@@ -22,7 +22,10 @@ public class Builder extends Character
this.reductionValue = reductionValue; this.reductionValue = reductionValue;
} }
@Override @Override
public String toString() { return super.toString()+" Reduction Value: " + String.valueOf(reductionValue); public String toString() { return super.toString()+" Reduction Value: " + String.valueOf(reductionValue); }
@Override
public Builder clone() {
return new Builder(getEra(),reductionValue);
} }
} }
@@ -16,4 +16,9 @@ public class Gatherers extends Character {
public String toString() { public String toString() {
return super.toString(); return super.toString();
} }
@Override
public Gatherers clone() {
return new Gatherers(getEra());
}
} }
@@ -28,4 +28,9 @@ public class Hunter extends Character {
public String toString() { public String toString() {
return super.toString() + "Icon: " + String.valueOf(icon); return super.toString() + "Icon: " + String.valueOf(icon);
} }
@Override
public Hunter clone() {
return new Hunter(getEra(),icon);
}
} }
@@ -29,4 +29,9 @@ public class Inventor extends Character {
public String toString() { public String toString() {
return super.toString() + " Symbol:" + String.valueOf(icon); return super.toString() + " Symbol:" + String.valueOf(icon);
} }
@Override
public Inventor clone() {
return new Inventor(getEra(),icon);
}
} }
@@ -28,4 +28,9 @@ public class Shaman extends Character {
public String toString() { public String toString() {
return super.toString() + "icon: " + String.valueOf(icon); return super.toString() + "icon: " + String.valueOf(icon);
} }
@Override
public Shaman clone() {
return new Shaman(getEra(),icon);
}
} }
@@ -14,9 +14,9 @@ public class Player {
return UserName; return UserName;
} }
private ArrayList <TribeCard> TribeCards; private ArrayList <Character> CharacterCards;
public ArrayList <TribeCard> getTribeCards() { public ArrayList <TribeCard> getCharacterCards() {
return TribeCards; return CharacterCards.clone();
} }
private ArrayList <BuildingCard> BuildingCards; private ArrayList <BuildingCard> BuildingCards;
+1
View File
@@ -4,6 +4,7 @@ module it.polimi.ingsw.gc14 {
requires org.controlsfx.controls; requires org.controlsfx.controls;
requires java.rmi; requires java.rmi;
requires java.smartcardio;
opens it.polimi.ingsw.gc14 to javafx.fxml; opens it.polimi.ingsw.gc14 to javafx.fxml;
exports it.polimi.ingsw.gc14; exports it.polimi.ingsw.gc14;