PageRenderTime 27ms CodeModel.GetById 17ms app.highlight 9ms RepoModel.GetById 0ms app.codeStats 0ms

/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
 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}