PageRenderTime 102ms CodeModel.GetById 40ms app.highlight 6ms RepoModel.GetById 55ms app.codeStats 0ms

/AltoGoServer/MatchInfo.java

http://altogo.googlecode.com/
Java | 73 lines | 61 code | 12 blank | 0 comment | 10 complexity | ab4f00e85b25ed336e96948ed85524ad MD5 | raw file
 1import java.util.ArrayList;
 2import java.util.List;
 3
 4public class MatchInfo {
 5	List<String> players = new ArrayList<String>();
 6	List<XYPoint> coords  = new ArrayList<XYPoint>();
 7	int playerCounter = 0;
 8	int curPlayer = 0;
 9	int gameID;
10	
11	int addPlayer(String newPlayer){
12		int returnValue = 0; 						// статус успешности метода
13		if (players.contains(newPlayer)){
14			returnValue = -1;
15		} else {
16			players.add(newPlayer);
17			coords.add(new XYPoint());
18			playerCounter++;
19		}
20		return returnValue;
21	}
22	
23	int doMove(String player, int x, int y){
24		int returnValue = 0; 						// статус успешности метода
25		if (players.indexOf(player) == curPlayer){	// если сейчас ход данного игрока
26			coords.get(curPlayer).setXY(x, y);		// установка, куда сходил игрок
27			
28			if (curPlayer == playerCounter - 1) {	// передаем ход следующему игроку
29				curPlayer = 0;						// с учетом зацикливания
30			} else {
31				curPlayer++;
32			}
33		} else {									// попытка сделать ход раньше текущего игрока
34			returnValue = -1;						// также следует проверять, что игрок существует
35		}
36		
37		return returnValue;
38	}
39	
40	boolean heInGame(String player){
41		boolean inGame = true;
42		if (players.indexOf(player) == -1){
43			inGame = false;
44		}
45		return inGame;
46	}
47	
48	XYPoint getMove(String player){
49		return (coords.get(players.indexOf(player)));	// следует проверить, что игрок есть
50	}
51	
52	int getPlayerCounter(){
53		return playerCounter;
54	}
55	
56	List<String> getPlayers(){
57		return this.players;
58	}
59	
60	void setID(int ID){
61		gameID = ID;
62	}
63	
64	int getID(){
65		return gameID;
66	}
67	
68	void deletePlayer(String nickname){
69		coords.remove(players.indexOf(nickname));
70		players.remove(players.indexOf(nickname));
71		playerCounter--;
72	}
73}