added more logic for the server state diagram
This commit is contained in:
@@ -11,45 +11,45 @@ public NoPiece(ServerState parent, ServerGameLogic logic) {
|
||||
|
||||
@Override
|
||||
public void entry() {
|
||||
if (hasTurbo() || turbo == 0) {
|
||||
if (roll == 6 &&
|
||||
logic.getGame().getBoard().getPlayerData().getWaitingArea().hasPieces() &&
|
||||
logic.getGame().getBoard().getNodes().getStartNode(Color).isOccupied()) {
|
||||
parent.gotoState(new WaitingPiece(parent, logic));
|
||||
} else {
|
||||
parent.gotoState(new NoTurn(parent, logic));
|
||||
}
|
||||
} else {
|
||||
validateHasPieces();
|
||||
}
|
||||
// if (hasTurbo() || turbo == 0) {
|
||||
// if (roll == 6 &&
|
||||
// logic.getGame().getBoard().getPlayerData().getWaitingArea().hasPieces() &&
|
||||
// logic.getGame().getBoard().getNodes().getStartNode(Color).isOccupied()) {
|
||||
// parent.gotoState(new WaitingPiece(parent, logic));
|
||||
// } else {
|
||||
// parent.gotoState(new NoTurn(parent, logic));
|
||||
// }
|
||||
// } else {
|
||||
// validateHasPieces();
|
||||
// }
|
||||
}
|
||||
|
||||
private void validateHasPieces() {
|
||||
if (logic.getGame().getBoard().getPlayerData().getWaitingArea().hasPieces()) {
|
||||
if (logic.getGame().getBoard().getNodes().getStartNode(Color).isOccupied()) {
|
||||
if (roll == 6) {
|
||||
logic.send(new Player(1), new WaitPiece());
|
||||
} else {
|
||||
validateMove();
|
||||
}
|
||||
} else {
|
||||
if (logic.getGame().getBoard().getNodes().getStartNode(Color).getPiece().canMove()) {
|
||||
logic.send(new Player(1), new WaitPiece());
|
||||
parent.gotoState(new StartPiece(parent, logic));
|
||||
} else {
|
||||
validateMove();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
validateMove();
|
||||
}
|
||||
// if (logic.getGame().getBoard().getPlayerData().getWaitingArea().hasPieces()) {
|
||||
// if (logic.getGame().getBoard().getNodes().getStartNode(Color).isOccupied()) {
|
||||
// if (roll == 6) {
|
||||
// logic.send(new Player(1), new WaitPiece());
|
||||
// } else {
|
||||
// validateMove();
|
||||
// }
|
||||
// } else {
|
||||
// if (logic.getGame().getBoard().getNodes().getStartNode(Color).getPiece().canMove()) {
|
||||
// logic.send(new Player(1), new WaitPiece());
|
||||
// parent.gotoState(new StartPiece(parent, logic));
|
||||
// } else {
|
||||
// validateMove();
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// validateMove();
|
||||
// }
|
||||
}
|
||||
|
||||
private void validateMove() {
|
||||
if (player.canMove()) {
|
||||
parent.gotoState(new NoTurn(parent, logic));
|
||||
} else {
|
||||
logic.send(new Player(1), new SelectPiece());
|
||||
}
|
||||
// if (player.canMove()) {
|
||||
// parent.gotoState(new NoTurn(parent, logic));
|
||||
// } else {
|
||||
// logic.send(new Player(1), new SelectPiece());
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user