/Chess/src2/server/GameHandler.java
Java | 53 lines | 51 code | 2 blank | 0 comment | 13 complexity | 20a1e582bba41edfbbdd2f55fd070321 MD5 | raw file
1package server;
2
3public class GameHandler
4{
5 private RegisterTracker registerTracker = new RegisterTracker();
6 private TurnTracker turnTracker = new TurnTracker();
7 private MoveTracker moveTracker = new MoveTracker();
8 private BoardTracker boardTracker = new BoardTracker();
9
10 public synchronized String processInput(String input)
11 {
12 if (input.contains("request ID"))
13 {
14 return registerTracker.register();
15 }
16 else if (input.contains("update board"))
17 {
18 return boardTracker.getBoard();
19 }
20 else if (input.contains("get latest move"))
21 {
22 input = input.replace("white", "");
23 input = input.replace("black", "");
24 input = input.replace("viewer", "");
25 input = input.replace("get latest move", "");
26 int moveNumber = Integer.parseInt(input);
27 return moveTracker.getLatestMove(moveNumber);
28 }
29 else if (input.contains("get player to move"))
30 {
31 return turnTracker.getPlayerToMove();
32 }
33 else if (input.contains("make move"))
34 {
35 input = input.replace("make move", "");
36 if (input.contains("white") &&
37 turnTracker.getPlayerToMove().equals("white"))
38 {
39 input = input.replace("white", "");
40 moveTracker.addMove(input);
41 turnTracker.nextTurn();
42 }
43 else if (input.contains("black") &&
44 turnTracker.getPlayerToMove().equals("black"))
45 {
46 input = input.replace("black", "");
47 moveTracker.addMove(input);
48 turnTracker.nextTurn();
49 }
50 }
51 return "no update";
52 }
53}