created two flags to be able to determine if a turbo card has been played
This commit is contained in:
@@ -31,6 +31,7 @@ public class TurnState extends GameStates {
|
|||||||
private final PlayPowerCardState playPowerCardState = new PlayPowerCardState(this, logic);
|
private final PlayPowerCardState playPowerCardState = new PlayPowerCardState(this, logic);
|
||||||
private final PowerCardState powerCardState = new PowerCardState(this, logic);
|
private final PowerCardState powerCardState = new PowerCardState(this, logic);
|
||||||
private final RollDiceState rollDiceState = new RollDiceState(this, logic);
|
private final RollDiceState rollDiceState = new RollDiceState(this, logic);
|
||||||
|
private boolean canChangeTurbo = false;
|
||||||
|
|
||||||
public TurnState(ClientState parent, ClientGameLogic logic) {
|
public TurnState(ClientState parent, ClientGameLogic logic) {
|
||||||
super(parent, logic);
|
super(parent, logic);
|
||||||
@@ -39,13 +40,14 @@ public TurnState(ClientState parent, ClientGameLogic logic) {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void enter() {
|
public void enter() {
|
||||||
this.setState(this.powerCardState);
|
|
||||||
for (Piece piece : logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getPieces()) {
|
for (Piece piece : logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getPieces()) {
|
||||||
if (piece.isShielded() || piece.isSuppressed()){
|
if (piece.isShielded() || piece.isSuppressed()){
|
||||||
piece.setShield(ShieldState.NONE);
|
piece.setShield(ShieldState.NONE);
|
||||||
logic.addNotification(new RemoveShieldNotification(piece.getUuid()));
|
logic.addNotification(new RemoveShieldNotification(piece.getUuid()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
logic.getGame().setTurboFlag(false);
|
||||||
|
this.setState(this.powerCardState);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -189,4 +191,12 @@ public GameState getParent(){
|
|||||||
public TurnStates getState(){
|
public TurnStates getState(){
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isCanChangeTurbo() {
|
||||||
|
return canChangeTurbo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCanChangeTurbo(boolean canChangeTurbo) {
|
||||||
|
this.canChangeTurbo = canChangeTurbo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,13 @@ public RollDiceState(ClientState parent, ClientGameLogic logic) {
|
|||||||
@Override
|
@Override
|
||||||
public void enter() {
|
public void enter() {
|
||||||
logic.addNotification(new DiceNowNotification());
|
logic.addNotification(new DiceNowNotification());
|
||||||
|
if (logic.getGame().getTurboFlag()){
|
||||||
|
if (parent.isCanChangeTurbo()){
|
||||||
|
logic.getGame().setTurboFlag(false);
|
||||||
|
} else {
|
||||||
|
parent.setCanChangeTurbo(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -89,6 +89,7 @@ public void received(PlayCardMessage msg){
|
|||||||
if(msg.getCard().getCard().equals(BonusCard.TURBO)){
|
if(msg.getCard().getCard().equals(BonusCard.TURBO)){
|
||||||
logic.getGame().setDiceModifier(msg.getDiceModifier());
|
logic.getGame().setDiceModifier(msg.getDiceModifier());
|
||||||
parent.getParent().getPlayPowerCard().setPlayCard(msg);
|
parent.getParent().getPlayPowerCard().setPlayCard(msg);
|
||||||
|
logic.getGame().setTurboFlag(true);
|
||||||
parent.getParent().setState(parent.getParent().getPlayPowerCard());
|
parent.getParent().setState(parent.getParent().getPlayPowerCard());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,6 +78,8 @@ public class Game {
|
|||||||
*/
|
*/
|
||||||
private int diceEyes;
|
private int diceEyes;
|
||||||
|
|
||||||
|
private boolean turboFlag = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This constructor creates a new Game object.
|
* This constructor creates a new Game object.
|
||||||
*/
|
*/
|
||||||
@@ -300,6 +302,14 @@ public boolean isHost() {
|
|||||||
return this.host != -1;
|
return this.host != -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setTurboFlag(boolean flag) {
|
||||||
|
this.turboFlag = flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean getTurboFlag() {
|
||||||
|
return this.turboFlag;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method returns the players.
|
* This method returns the players.
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user