/AltoGoServer/MatchInfo.java

http://altogo.googlecode.com/ · Java · 73 lines · 61 code · 12 blank · 0 comment · 10 complexity · ab4f00e85b25ed336e96948ed85524ad MD5 · raw file

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