/// <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); } }
/// <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); } }