Exemplo n.º 1
0
        public static string GetUniqueIdentifier(int length)
        {
            var          maxSize        = length;
            const string AvailableChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";

            char[] chars  = AvailableChars.ToCharArray();
            var    data   = new byte[1];
            var    crypto = new RNGCryptoServiceProvider();

            crypto.GetNonZeroBytes(data);
            var size = maxSize;

            data = new byte[size];
            crypto.GetNonZeroBytes(data);
            var result = new StringBuilder(size);

            foreach (var b in data)
            {
                result.Append(chars[b % (chars.Length - 1)]);
            }

            // Unique identifiers cannot begin with 0-9
            if (result[0] >= '0' && result[0] <= '9')
            {
                return(GetUniqueIdentifier(length));
            }

            return(result.ToString());
        }
 public void AddCharGuess(char letter)
 {
     AvailableChars.Remove(letter);
     HangmanGame.GuessLetter(letter);
     DetermineImageSrc();
     Evaluate();
 }