示例#1
0
        /// <summary>
        /// Computes a guess for a user.
        /// </summary>
        /// <param name="guess">User's guess in format 12345678, where each number represents a color</param>
        /// <param name="name">User's nickname</param>
        /// <returns></returns>
        internal bool MakeGuess(string guess, string name)
        {
            CurrentUsersGuessed.Add(name);

            Guesses.Add(name, guess);

            if (Guesses.Count == Users.Count)
            {
                return(true);
            }
            else
            {
                string remainingUsers = "";
                lock (Users)
                {
                    foreach (var user in Users)
                    {
                        if (!CurrentUsersGuessed.Contains(user))
                        {
                            remainingUsers += user + ", ";
                        }
                    }
                    if (remainingUsers.Length > 0)
                    {
                        RemainingUsers = remainingUsers.Remove(remainingUsers.LastIndexOf(','));
                    }
                }

                return(false);
            }
        }
示例#2
0
 /// <summary>
 /// Verifies if an user can make a guess.
 /// </summary>
 /// <param name="name">Username of the user</param>
 /// <returns>True if he can make a guess</returns>
 internal bool CanGuess(string name)
 {
     if (CurrentUsersGuessed.Contains(name))
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }