|
1234567891011121314151617181920212223242526272829303132333435363738 |
- package events;
-
- import com.fasterxml.jackson.databind.JsonNode;
-
- import akka.actor.ActorRef;
- import structures.GameState;
-
- /**
- * Indicates that the user has clicked an object on the game canvas, in this case
- * the end-turn button.
- *
- * {
- * messageType = “endTurnClicked”
- * }
- *
- * @author Dr. Richard McCreadie
- *
- */
- public class EndTurnClicked implements EventProcessor{
-
- @Override
- public void processEvent(ActorRef out, GameState gameState, JsonNode message) {
- // see if we have a "player" field in the message to indicate AI player:
- String player = (message.has("player")) ? message.get("player").asText() : "human";
- // now we check if the game thinks it is the player who clicked end turn's actual turn:
- if (gameState.currentPlayer == 1 && player.equals("human")) {
- System.out.println("Player 1 clicked end turn");
- gameState.currentPlayer = 2;
- // hand off control to AI player:
- gameState.aiPlayer.takeTurn(out, gameState);
- System.out.println(String.format("%s", message.toString()));
- } else if (gameState.currentPlayer == 2 && player.equals("AI")) {
- System.out.println("Player 2 clicked end turn");
- gameState.currentPlayer = 1;
- }
- }
-
- }
|