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