/AltoGoServer/MatchInfo.java
http://altogo.googlecode.com/ · Java · 73 lines · 61 code · 12 blank · 0 comment · 10 complexity · ab4f00e85b25ed336e96948ed85524ad MD5 · raw file
- import java.util.ArrayList;
- import java.util.List;
-
- public class MatchInfo {
- List<String> players = new ArrayList<String>();
- List<XYPoint> coords = new ArrayList<XYPoint>();
- int playerCounter = 0;
- int curPlayer = 0;
- int gameID;
-
- int addPlayer(String newPlayer){
- int returnValue = 0; // статус успешности метода
- if (players.contains(newPlayer)){
- returnValue = -1;
- } else {
- players.add(newPlayer);
- coords.add(new XYPoint());
- playerCounter++;
- }
- return returnValue;
- }
-
- int doMove(String player, int x, int y){
- int returnValue = 0; // статус успешности метода
- if (players.indexOf(player) == curPlayer){ // если сейчас ход данного игрока
- coords.get(curPlayer).setXY(x, y); // установка, куда сходил игрок
-
- if (curPlayer == playerCounter - 1) { // передаем ход следующему игроку
- curPlayer = 0; // с учетом зацикливания
- } else {
- curPlayer++;
- }
- } else { // попытка сделать ход раньше текущего игрока
- returnValue = -1; // также следует проверять, что игрок существует
- }
-
- return returnValue;
- }
-
- boolean heInGame(String player){
- boolean inGame = true;
- if (players.indexOf(player) == -1){
- inGame = false;
- }
- return inGame;
- }
-
- XYPoint getMove(String player){
- return (coords.get(players.indexOf(player))); // следует проверить, что игрок есть
- }
-
- int getPlayerCounter(){
- return playerCounter;
- }
-
- List<String> getPlayers(){
- return this.players;
- }
-
- void setID(int ID){
- gameID = ID;
- }
-
- int getID(){
- return gameID;
- }
-
- void deletePlayer(String nickname){
- coords.remove(players.indexOf(nickname));
- players.remove(players.indexOf(nickname));
- playerCounter--;
- }
- }