Merge pull request #1 from rubenpirreram/endGame_branch
Add: endGame Partial, PickOptionalTribeCard, PickOptionalBuildingCard…
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package it.polimi.ingsw.gc14.Model;
|
package it.polimi.ingsw.gc14.Model;
|
||||||
|
|
||||||
|
import it.polimi.ingsw.gc14.Model.Cards.Building.EffectType;
|
||||||
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.Cards.TribeCards.Character;
|
import it.polimi.ingsw.gc14.Model.Cards.TribeCards.Character;
|
||||||
@@ -210,13 +211,55 @@ public class Game {
|
|||||||
//endregion
|
//endregion
|
||||||
|
|
||||||
//region Optional Card Methods
|
//region Optional Card Methods
|
||||||
|
// TODO fare mappa per contare più volte lo stesso player
|
||||||
public boolean PickOptionalTribeCard(Player player,TribeCard tribeCard) {
|
public boolean PickOptionalTribeCard(Player player,TribeCard tribeCard) {
|
||||||
|
if(currentState.getGameStage() != GameStages.OPTIONAL_CARD_EFFECT){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(!player.equals(currentState.getCurrentPlayer())){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(!board.containsUpperTribeCard(tribeCard)){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(tribeCard.IsEventCard()){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
Character tempCard = (Character) tribeCard;
|
||||||
|
tempCard.insert(player);
|
||||||
|
board.removeUpperTribeCard(tempCard);
|
||||||
|
nextPlayerSetup();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public boolean PickOptionalBuildingCard(Player player, BuildingCard buildingCard) {
|
public boolean PickOptionalBuildingCard(Player player, BuildingCard buildingCard) {
|
||||||
|
if(currentState.getGameStage() != GameStages.OPTIONAL_CARD_EFFECT){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(!player.equals(currentState.getCurrentPlayer())){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(!board.containsUpperBuildingCard(buildingCard)){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(buildingCard.buy(player)) {
|
||||||
|
board.removeUpperBuildingCard(buildingCard);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
nextPlayerSetup();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean NoOptionalCard(Player player) {
|
public boolean NoOptionalCard(Player player) {
|
||||||
|
if(currentState.getGameStage() != GameStages.OPTIONAL_CARD_EFFECT){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(!player.equals(currentState.getCurrentPlayer())){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
//endregion
|
//endregion
|
||||||
@@ -308,10 +351,14 @@ public class Game {
|
|||||||
}
|
}
|
||||||
private void endGame() {
|
private void endGame() {
|
||||||
//DO SOMETHING THEN
|
//DO SOMETHING THEN
|
||||||
|
for(Player p : playersList){
|
||||||
|
List<BuildingCard> cards = p.buildingCards.stream().
|
||||||
|
filter(x -> x.getEffectType() == EffectType.FINAL).toList();
|
||||||
|
}
|
||||||
currentState.GameStageUpdate(GameStages.ENDED);
|
currentState.GameStageUpdate(GameStages.ENDED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO endGame, optional cards,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -104,14 +104,5 @@ public class Player {
|
|||||||
// End constructors
|
// End constructors
|
||||||
|
|
||||||
// Functions
|
// Functions
|
||||||
// TODO
|
|
||||||
public void Play(Slot slot){
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO
|
|
||||||
public void SlotChoice(){
|
|
||||||
|
|
||||||
}
|
|
||||||
// End functions
|
// End functions
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user