/Chess/src2/server/GameHandler.java
https://bitbucket.org/revvy/chess · Java · 53 lines · 51 code · 2 blank · 0 comment · 13 complexity · 20a1e582bba41edfbbdd2f55fd070321 MD5 · raw file
- package server;
- public class GameHandler
- {
- private RegisterTracker registerTracker = new RegisterTracker();
- private TurnTracker turnTracker = new TurnTracker();
- private MoveTracker moveTracker = new MoveTracker();
- private BoardTracker boardTracker = new BoardTracker();
-
- public synchronized String processInput(String input)
- {
- if (input.contains("request ID"))
- {
- return registerTracker.register();
- }
- else if (input.contains("update board"))
- {
- return boardTracker.getBoard();
- }
- else if (input.contains("get latest move"))
- {
- input = input.replace("white", "");
- input = input.replace("black", "");
- input = input.replace("viewer", "");
- input = input.replace("get latest move", "");
- int moveNumber = Integer.parseInt(input);
- return moveTracker.getLatestMove(moveNumber);
- }
- else if (input.contains("get player to move"))
- {
- return turnTracker.getPlayerToMove();
- }
- else if (input.contains("make move"))
- {
- input = input.replace("make move", "");
- if (input.contains("white") &&
- turnTracker.getPlayerToMove().equals("white"))
- {
- input = input.replace("white", "");
- moveTracker.addMove(input);
- turnTracker.nextTurn();
- }
- else if (input.contains("black") &&
- turnTracker.getPlayerToMove().equals("black"))
- {
- input = input.replace("black", "");
- moveTracker.addMove(input);
- turnTracker.nextTurn();
- }
- }
- return "no update";
- }
- }