示例#1
0
 public string SitOnChair(string roomId, string username, string uniqueNum, string money, string chairNum)
 {
     if (!IsUsernameAuthorize(username, uniqueNum))
     {
         return("null");
     }
     try {
         Room       room    = roomsData.FindRoomById(int.Parse(roomId));
         Player     player  = playersData.FindPlayerByUsername(username);
         GamePlayer gPlayer = new GamePlayer(player, int.Parse(money));
         if (!room.Game.Join(int.Parse(chairNum), gPlayer))
         {
             return("null");
         }
         SendCommandToPlayersInGame(CreateJson(new Command("UpdateGame", new string[2] {
             roomId, CreateJson(room.Game)
         })), roomId);
         return("null");
     }
     catch (Exception e)
     {
         Log.ErrorLog("Exception on SitOnChair " + e.Message);
         return("null"); //null mean that sever done need to send back message
     }
 }
示例#2
0
        public static string Register(Player newPlayer, IPlayersData data)
        {
            Player player = data.FindPlayerByUsername(newPlayer.Username);

            if (player != null)
            {
                return("Error! username is already taken");
            }
            if (!IsValidEmail(newPlayer.GetEmail()))
            {
                return("Error! invalid email");
            }
            if (!IsValidPassword(newPlayer.GetPassword()))
            {
                return("Error! invalid password");
            }
            if (!data.isEmailFree(newPlayer.GetEmail()))
            {
                return("Error! email is not free");
            }
            newPlayer.Money = 5000;
            newPlayer.SetPassword(Encryption.EncryptPassword(newPlayer.GetPassword()));
            data.AddPlayer(newPlayer);
            return("ok");
        }
示例#3
0
        public static Player Login(String username, String password, IPlayersData date)
        {
            password = Encryption.EncryptPassword(password);
            Player player = date.FindPlayerByUsername(username);

            if (player == null || !player.GetPassword().Equals(password))
            {
                return(null);
            }
            return(player);
        }
示例#4
0
        public List <IGame> SearchGamesByPlayerUserName(String userName)
        {
            List <IGame> ans = new List <IGame>();
            List <Room>  listOfRoomsWithActiveGames = new List <Room>();
            Player       searchedPlayer             = playersData.FindPlayerByUsername(userName);

            if (searchedPlayer == default(Player))
            {
                return(null);                                   // the player we search doesn't exist.
            }
            else
            {
                League l = leaguesData.FindLeagueById(searchedPlayer.LeagueId);
                listOfRoomsWithActiveGames = l.GetAllActiveGames();
                foreach (Room r in listOfRoomsWithActiveGames)
                {
                    if (r.IsPlayerActiveInRoom(searchedPlayer))
                    {
                        ans.Add(r.Game);
                    }
                }
            }
            return(ans);
        }