private string generatePartlyName(string i_FriendName) { // this method generate a clue about the friend's name to guess // it return a string that represent a part of his name // ex: if his name is Yossi Cohen, a clue could be Y_ss_ C__en represting in string StringBuilder hintedName = new StringBuilder(); List <int> generatedIndices; for (int i = 0; i < i_FriendName.Length; i++) { if (i_FriendName[i] == ' ') { hintedName.Append(" "); } else { hintedName.Append("_"); } } try { // generate a list of indices to expose random letter from the friend name generatedIndices = RandomNumbersGenerator.GenerateRandom(i_FriendName.Length / 2, 0, i_FriendName.Length - 1); } catch (ArgumentOutOfRangeException) { // a legal name on Facebook must include at least one character generatedIndices = new List <int>(0); } foreach (int index in generatedIndices) { hintedName[index] = i_FriendName[index]; } return(hintedName.ToString()); }
public FacebookGuessMyNameFeature(User i_LoggedInUser) { LoggedInUser = i_LoggedInUser; FriendsOfLoggedInUser = i_LoggedInUser.Friends; RandomNumbersGenerator = new RandomNumbersGenerator(); }