Instance of deleted on characters, Changed Building Effect Logic
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
package it.polimi.ingsw.gc14.Model.Cards.Building;
|
||||
|
||||
import it.polimi.ingsw.gc14.Model.Player;
|
||||
|
||||
public interface BuildingEffect {
|
||||
public void applyEffect(Player player);
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
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.Player;
|
||||
|
||||
public class Building12 extends BuildingCard {
|
||||
public Building12(int era, int price) {
|
||||
super(era,price);
|
||||
effectType= EffectType.ON_ROUND_END;
|
||||
effectId=12;
|
||||
}
|
||||
@Override
|
||||
public BuildingCard clone() {
|
||||
return new Building12(getEra(),getPrice());
|
||||
}
|
||||
@Override
|
||||
// TODO
|
||||
public void applyEffect(Player player) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
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.CharacterType;
|
||||
import it.polimi.ingsw.gc14.Model.Player;
|
||||
|
||||
public class Building2 extends BuildingCard {
|
||||
|
||||
public Building2(int era, int price) {
|
||||
super(era,price);
|
||||
effectType= EffectType.ON_EVENT;
|
||||
effectId=2;
|
||||
}
|
||||
@Override
|
||||
public BuildingCard clone() {
|
||||
return new Building2(getEra(),getPrice());
|
||||
}
|
||||
@Override
|
||||
public void applyEffect(Player player) {
|
||||
};
|
||||
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
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.Player;
|
||||
|
||||
public class Building3 extends BuildingCard {
|
||||
|
||||
public Building3(int era, int price) {
|
||||
super(era,price);
|
||||
effectType= EffectType.ON_END_TURN;
|
||||
effectId=3;
|
||||
}
|
||||
@Override
|
||||
public BuildingCard clone() {
|
||||
return new Building3(getEra(),getPrice());
|
||||
}
|
||||
@Override
|
||||
public void applyEffect(Player player) {
|
||||
};
|
||||
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
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.Player;
|
||||
|
||||
public class Building5 extends BuildingCard {
|
||||
|
||||
public Building5(int era, int price) {
|
||||
super(era,price);
|
||||
effectType= EffectType.ON_EVENT;
|
||||
effectId=5;
|
||||
}
|
||||
@Override
|
||||
public BuildingCard clone() {
|
||||
return new Building5(getEra(),getPrice());
|
||||
}
|
||||
@Override
|
||||
public void applyEffect(Player player) {
|
||||
};
|
||||
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
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.Player;
|
||||
|
||||
public class Building6 extends BuildingCard {
|
||||
|
||||
public Building6(int era, int price) {
|
||||
super(era,price);
|
||||
effectType= EffectType.ON_EVENT;
|
||||
effectId=6;
|
||||
}
|
||||
@Override
|
||||
public BuildingCard clone() {
|
||||
return new Building6(getEra(),getPrice());
|
||||
}
|
||||
@Override
|
||||
public void applyEffect(Player player) {
|
||||
};
|
||||
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
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.Player;
|
||||
|
||||
public class Building7 extends BuildingCard {
|
||||
|
||||
public Building7(int era, int price) {
|
||||
super(era,price);
|
||||
effectType= EffectType.ON_EVENT;
|
||||
effectId=7;
|
||||
}
|
||||
@Override
|
||||
public BuildingCard clone() {
|
||||
return new Building7(getEra(),getPrice());
|
||||
}
|
||||
@Override
|
||||
public void applyEffect(Player player) {
|
||||
};
|
||||
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
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.Player;
|
||||
|
||||
public class Building9 extends BuildingCard{
|
||||
|
||||
public Building9(int era, int price) {
|
||||
super(era,price);
|
||||
effectType = EffectType.ON_EVENT;
|
||||
effectId = 9;
|
||||
}
|
||||
@Override
|
||||
public BuildingCard clone() {
|
||||
return new Building9(getEra(),getPrice());
|
||||
}
|
||||
@Override
|
||||
public void applyEffect(Player player) {
|
||||
};
|
||||
}
|
||||
@@ -1,12 +1,13 @@
|
||||
package it.polimi.ingsw.gc14.Model.Cards;
|
||||
|
||||
import it.polimi.ingsw.gc14.Model.Cards.Building.BuildingEffect;
|
||||
import it.polimi.ingsw.gc14.Model.Cards.Building.EffectType;
|
||||
import it.polimi.ingsw.gc14.Model.PlayableCard;
|
||||
import it.polimi.ingsw.gc14.Model.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public abstract class BuildingCard extends PlayableCard implements Cloneable {
|
||||
public class BuildingCard extends PlayableCard implements Cloneable , BuildingEffect {
|
||||
private int price;
|
||||
public int getPrice() {
|
||||
return price;
|
||||
@@ -26,9 +27,19 @@ public abstract class BuildingCard extends PlayableCard implements Cloneable {
|
||||
super(era);
|
||||
this.price = price;
|
||||
}
|
||||
public BuildingCard(int effectId,EffectType effectType ,int era,int price) {
|
||||
this.effectId = effectId;
|
||||
this.effectType = effectType;
|
||||
super(era);
|
||||
this.price = price;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public abstract BuildingCard clone() ;
|
||||
public BuildingCard clone()
|
||||
{
|
||||
return new BuildingCard(effectId,effectType,getEra(),getPrice());
|
||||
}
|
||||
|
||||
public abstract void applyEffect(Player player);
|
||||
public void applyEffect(Player player){};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package it.polimi.ingsw.gc14.Model.Cards.TribeCards;
|
||||
|
||||
import it.polimi.ingsw.gc14.Model.Cards.TribeCard;
|
||||
import it.polimi.ingsw.gc14.Model.Player;
|
||||
|
||||
|
||||
public abstract class Character extends TribeCard implements Cloneable {
|
||||
@@ -21,4 +22,6 @@ public abstract class Character extends TribeCard implements Cloneable {
|
||||
|
||||
@Override
|
||||
public abstract Character clone();
|
||||
|
||||
public abstract void insert(Player player);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters;
|
||||
|
||||
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;
|
||||
|
||||
public class Artist extends Character {
|
||||
|
||||
@@ -26,6 +27,10 @@ public class Artist extends Character {
|
||||
return new Artist(getEra());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insert(Player player) {
|
||||
player.artists.add(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters;
|
||||
|
||||
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;
|
||||
|
||||
public class Builder extends Character
|
||||
{
|
||||
@@ -42,5 +43,7 @@ public class Builder extends Character
|
||||
return new Builder(this);
|
||||
}
|
||||
|
||||
|
||||
public void insert(Player player) {
|
||||
player.builders.add(this);
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters;
|
||||
|
||||
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;
|
||||
|
||||
public class Gatherers extends Character {
|
||||
|
||||
@@ -21,5 +22,7 @@ public class Gatherers extends Character {
|
||||
public Character clone() {
|
||||
return new Gatherers(getEra());
|
||||
}
|
||||
|
||||
public void insert(Player player) {
|
||||
player.gatherers.add(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters;
|
||||
|
||||
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;
|
||||
|
||||
public class Hunter extends Character {
|
||||
private boolean icon;
|
||||
@@ -33,5 +34,9 @@ public class Hunter extends Character {
|
||||
public Character clone() {
|
||||
return new Hunter(getEra(), getIcon());
|
||||
}
|
||||
@Override
|
||||
public void insert(Player player) {
|
||||
player.hunters.add(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters;
|
||||
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;
|
||||
|
||||
public class Inventor extends Character {
|
||||
private int icon;
|
||||
@@ -34,5 +35,8 @@ public class Inventor extends Character {
|
||||
public Character clone() {
|
||||
return new Inventor(getEra(),icon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insert(Player player) {
|
||||
player.inventors.add(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters;
|
||||
import it.polimi.ingsw.gc14.Model.Cards.TribeCard;
|
||||
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;
|
||||
|
||||
public class Shaman extends Character {
|
||||
|
||||
@@ -35,4 +36,9 @@ public class Shaman extends Character {
|
||||
return new Shaman(getEra(), getIcon());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insert(Player player)
|
||||
{
|
||||
player.shamans.add(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,8 +32,8 @@ public class Sustenance extends EventCard {
|
||||
for(Player p : playerList){
|
||||
ArrayList<Character> characters = player.getCharacterCards();
|
||||
for(BuildingCard b : player.getBuildingCards()){
|
||||
if(b instanceof Building1 b1){
|
||||
NCharDiscount += (int) characters.stream().filter(x -> x.getType().equals(b1.getIcon())).count();
|
||||
if(b.getEffectId() == 1){
|
||||
NCharDiscount += (int) characters.stream().filter(x -> x.getType().equals(((Building1)b).getIcon())).count();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user