Add: DrawCard implementations, fix: CurrentState nUpper&nLower management
This commit is contained in:
@@ -2,6 +2,7 @@ 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.Character;
|
||||
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventCard;
|
||||
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.EventType;
|
||||
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Events.ShamanicRitual;
|
||||
@@ -96,11 +97,24 @@ public class Game {
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if(player.equals(currentState.getCurrentPlayer()))
|
||||
if(!player.equals(currentState.getCurrentPlayer()))
|
||||
{
|
||||
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
if(!board.containsUpperTribeCard(tribeCard))
|
||||
return false;
|
||||
if(currentState.getNUpper() <1)
|
||||
return false;
|
||||
if(!tribeCard.IsEventCard())
|
||||
return false;
|
||||
|
||||
Character tempCard = (Character) tribeCard;
|
||||
tempCard.insert(player);
|
||||
board.removeUpperTribeCard(tempCard);
|
||||
currentState.UpperDrawn();
|
||||
if(currentState.getNUpper() ==0 && currentState.getNLower() ==0)
|
||||
nextPlayerSetup();
|
||||
return true;
|
||||
|
||||
}
|
||||
public boolean DrawLowerTribeCard(Player player,TribeCard tribeCard) {
|
||||
@@ -108,11 +122,24 @@ public class Game {
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if(player.equals(currentState.getCurrentPlayer()))
|
||||
if(!player.equals(currentState.getCurrentPlayer()))
|
||||
{
|
||||
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
if(!board.containsLowerTribeCard(tribeCard))
|
||||
return false;
|
||||
if(currentState.getNLower() <1)
|
||||
return false;
|
||||
if(!tribeCard.IsEventCard())
|
||||
return false;
|
||||
|
||||
Character tempCard = (Character) tribeCard;
|
||||
tempCard.insert(player);
|
||||
board.removeLowerTribeCard(tempCard);
|
||||
currentState.LowerDrawn();
|
||||
if(currentState.getNLower() ==0 && currentState.getNUpper() ==0)
|
||||
nextPlayerSetup();
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
@@ -129,6 +156,8 @@ public class Game {
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if(currentState.getNUpper() <1)
|
||||
return false;
|
||||
if(buildingCard.buy(player))
|
||||
{
|
||||
currentState.UpperDrawn();
|
||||
@@ -136,11 +165,10 @@ public class Game {
|
||||
}
|
||||
else
|
||||
return false;
|
||||
if(currentState.getNUpper()==currentState.getSlot().getNUpper()&& currentState.getNLower()==currentState.getSlot().getNLower())
|
||||
{
|
||||
if(currentState.getNLower() ==0 && currentState.getNUpper() ==0)
|
||||
nextPlayerSetup();
|
||||
|
||||
}
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
public boolean DrawLowerBuildingCard(Player player,BuildingCard buildingCard) {
|
||||
if(currentState.getGameStage()!= GameStages.RESOLVING_ACTIONS)
|
||||
@@ -155,23 +183,24 @@ public class Game {
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if(currentState.getNLower() <1)
|
||||
return false;
|
||||
if(buildingCard.buy(player))
|
||||
{
|
||||
currentState.UpperDrawn();
|
||||
currentState.LowerDrawn();
|
||||
board.removeLowerBuildingCard(buildingCard);
|
||||
}
|
||||
else
|
||||
return false;
|
||||
if(currentState.getNUpper()==currentState.getSlot().getNUpper()&& currentState.getNLower()==currentState.getSlot().getNLower())
|
||||
{
|
||||
if(currentState.getNLower() ==0 && currentState.getNUpper() ==0)
|
||||
nextPlayerSetup();
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
private void EraUpdate(){}
|
||||
private void nextPlayerSetup() {
|
||||
if(GameStages.RESOLVING_ACTIONS==currentState.getGameStage()) {
|
||||
orderLogicCard.push(currentState.getCurrentPlayer());
|
||||
|
||||
@@ -53,11 +53,11 @@ public class CurrentState {
|
||||
}
|
||||
|
||||
public void UpperDrawn(){
|
||||
NUpper++;
|
||||
NUpper--;
|
||||
}
|
||||
|
||||
public void LowerDrawn(){
|
||||
NLower++;
|
||||
NLower--;
|
||||
}
|
||||
|
||||
public void GameStageUpdate(GameStages GameStage){
|
||||
@@ -80,8 +80,8 @@ public class CurrentState {
|
||||
public void PlayerUpdate(Player player, Slot slot){
|
||||
this.player = player;
|
||||
this.slot = slot;
|
||||
this.NUpper = 0;
|
||||
this.NLower = 0;
|
||||
this.NUpper = slot.getNUpper();
|
||||
this.NLower = slot.getNLower();
|
||||
}
|
||||
// End functions
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user