Game initialize
This commit is contained in:
@@ -40,6 +40,11 @@ public class BuildingCard extends PlayableCard implements Cloneable , BuildingEf
|
||||
{
|
||||
return new BuildingCard(effectId,effectType,getEra(),getPrice());
|
||||
}
|
||||
|
||||
public boolean buy(Player player) {
|
||||
if(!player.removeFood(getPrice()))
|
||||
return false;
|
||||
player.buildingCards.add(this);
|
||||
return true;
|
||||
}
|
||||
public void applyEffect(Player player){};
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ public class CavePaintings extends EventCard {
|
||||
for (Player player : playerList){
|
||||
int NArtists = player.getNType(CharacterType.ARTIST);
|
||||
int NBuildings = 0;
|
||||
ArrayList<BuildingCard> buildingCards = player.getBuildingCards();
|
||||
ArrayList<BuildingCard> buildingCards = player.buildingCards;
|
||||
|
||||
for(BuildingCard card : buildingCards){
|
||||
if(card.getEffectId() == 9){
|
||||
|
||||
@@ -21,7 +21,7 @@ public class Hunt extends EventCard {
|
||||
@Override
|
||||
public void activateEvent (ArrayList <Player> playerList){
|
||||
for (Player player : playerList) {
|
||||
ArrayList <BuildingCard> buildingList = player.getBuildingCards();
|
||||
ArrayList <BuildingCard> buildingList = player.buildingCards;
|
||||
int hunterCounter=player.getNType(CharacterType.HUNTER);
|
||||
|
||||
for (BuildingCard buildingCard : buildingList) {
|
||||
|
||||
+3
-3
@@ -27,7 +27,7 @@ public class ShamanicRitual extends EventCard {
|
||||
|
||||
for (Player player : playerList) {
|
||||
tmpIcons = player.shamans.stream().mapToInt(sh -> sh.getIcon()).sum();
|
||||
if (player.getBuildingCards().stream().anyMatch(b -> b.getEffectId() == 5)) {
|
||||
if (player.buildingCards.stream().anyMatch(b -> b.getEffectId() == 5)) {
|
||||
tmpIcons = tmpIcons+3;
|
||||
}
|
||||
playerMap.put(player, tmpIcons);
|
||||
@@ -41,7 +41,7 @@ public class ShamanicRitual extends EventCard {
|
||||
|
||||
|
||||
for (Player player : maxIconsPlayer) {
|
||||
if (player.getBuildingCards().stream().anyMatch(b -> b.getEffectId() == 6)) {
|
||||
if (player.buildingCards.stream().anyMatch(b -> b.getEffectId() == 6)) {
|
||||
player.addPrestige(prestigeToAdd *2);
|
||||
} else {
|
||||
player.addPrestige(prestigeToAdd);
|
||||
@@ -49,7 +49,7 @@ public class ShamanicRitual extends EventCard {
|
||||
}
|
||||
|
||||
for (Player player : minIconsPlayer) {
|
||||
if (!(player.getBuildingCards().stream().anyMatch(b -> b.getEffectId() == 2))) {
|
||||
if (!(player.buildingCards.stream().anyMatch(b -> b.getEffectId() == 2))) {
|
||||
player.removePrestige(prestigeToRemove);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ public class Sustenance extends EventCard {
|
||||
|
||||
int NCharDiscount = 0;
|
||||
for(Player p : playerList){
|
||||
for(BuildingCard b : player.getBuildingCards()){
|
||||
for(BuildingCard b : player.buildingCards){
|
||||
if(b.getEffectId() == 1){
|
||||
CharacterType c = ((Building1)b).getIcon();
|
||||
NCharDiscount += p.getNType(c);
|
||||
|
||||
@@ -2,6 +2,10 @@ package it.polimi.ingsw.gc14.Model;
|
||||
|
||||
import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
|
||||
import it.polimi.ingsw.gc14.Model.Cards.TribeCard;
|
||||
import it.polimi.ingsw.gc14.Model.Orders.Order2;
|
||||
import it.polimi.ingsw.gc14.Model.Orders.Order3;
|
||||
import it.polimi.ingsw.gc14.Model.Orders.Order4;
|
||||
import it.polimi.ingsw.gc14.Model.Orders.Order5;
|
||||
|
||||
import javax.smartcardio.Card;
|
||||
import java.util.ArrayList;
|
||||
@@ -16,7 +20,23 @@ public class Game {
|
||||
private List<BuildingCard> upperListBuilding;
|
||||
private List<BuildingCard> lowerListBuilding;
|
||||
private List<Player> playersList;//No Clone?
|
||||
|
||||
private OrderLogicCard orderLogicCard;
|
||||
public Game(ArrayList<Player> playersList) {
|
||||
switch (playersList.size()) {
|
||||
case 2:
|
||||
orderLogicCard=new Order2(playersList);
|
||||
break;
|
||||
case 3:
|
||||
orderLogicCard=new Order3(playersList);
|
||||
break;
|
||||
case 4:
|
||||
orderLogicCard=new Order4(playersList);
|
||||
break;
|
||||
case 5:
|
||||
orderLogicCard=new Order5(playersList);
|
||||
break;
|
||||
}
|
||||
slotList = new ArrayList<>();
|
||||
tribeDeck = new ArrayList<>();
|
||||
buildingDeck = new ArrayList<>();
|
||||
@@ -26,4 +46,11 @@ public class Game {
|
||||
lowerListBuilding = new ArrayList<>();
|
||||
this.playersList = playersList;
|
||||
}
|
||||
public void init()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
package it.polimi.ingsw.gc14.Model;
|
||||
|
||||
import it.polimi.ingsw.gc14.Model.Cards.BuildingCard;
|
||||
import it.polimi.ingsw.gc14.Model.Cards.TribeCard;
|
||||
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.CharacterType;
|
||||
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Characters.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import static java.lang.Math.abs;
|
||||
|
||||
@@ -35,14 +32,7 @@ public class Player {
|
||||
};
|
||||
}
|
||||
|
||||
private ArrayList <BuildingCard> BuildingCards;
|
||||
public ArrayList <BuildingCard> getBuildingCards() {
|
||||
ArrayList <BuildingCard> copy = new ArrayList <>();
|
||||
for(BuildingCard building:BuildingCards){
|
||||
copy.add(building.clone());
|
||||
}
|
||||
return copy;
|
||||
}
|
||||
public ArrayList <BuildingCard> buildingCards;
|
||||
|
||||
public ArrayList <Artist> artists;
|
||||
public ArrayList <Builder> builders;
|
||||
@@ -107,7 +97,7 @@ public class Player {
|
||||
this.hunters = new ArrayList <>();
|
||||
this.artists = new ArrayList<>();
|
||||
|
||||
this.BuildingCards = new ArrayList<>();
|
||||
this.buildingCards = new ArrayList<>();
|
||||
this.FoodValue = 0;
|
||||
this.PrestigeValue = 0;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,11 @@ public class Slot {
|
||||
public int getNUpper(){
|
||||
return NUpper;
|
||||
}
|
||||
|
||||
private int nMinPlayer;
|
||||
public int getNMinPlayer()
|
||||
{
|
||||
return nMinPlayer;
|
||||
}
|
||||
private int NLower;
|
||||
public int getNLower(){
|
||||
return NLower;
|
||||
@@ -22,13 +26,14 @@ public class Slot {
|
||||
// End setters
|
||||
|
||||
// Constructors
|
||||
public Slot(int NUpper, int NLower, int Food) throws IllegalArgumentException {
|
||||
public Slot(int NUpper, int NLower, int Food,int nMinPlayer) throws IllegalArgumentException {
|
||||
this.NUpper = NUpper;
|
||||
this.NLower = NLower;
|
||||
this.Food = Food;
|
||||
if(Food != 0 && (NUpper != 0 || NLower != 0)){
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
this.nMinPlayer = nMinPlayer;
|
||||
}
|
||||
// End Constructors
|
||||
|
||||
|
||||
Reference in New Issue
Block a user