Esempio n. 1
0
        private bool  PlayRound()
        {
            var secret = BagelNumber.CreateSecretNumber(Length);

            Console.WriteLine("O.K. I have a number in mind.");
            for (int guessNo = 1; guessNo <= MaxGuesses; ++guessNo)
            {
                string          strGuess;
                BagelValidation isValid;
                do
                {
                    Console.WriteLine($"Guess #{guessNo}");
                    strGuess = Console.ReadLine();
                    isValid  = BagelNumber.IsValid(strGuess, Length);
                    PrintError(isValid);
                } while (isValid != BagelValidation.Valid);

                var guess = new BagelNumber(strGuess);
                var fermi = 0;
                var pico  = 0;
                (pico, fermi) = secret.CompareTo(guess);
                if (pico + fermi == 0)
                {
                    Console.Write("BAGELS!");
                }
                else if (fermi == Length)
                {
                    Console.WriteLine("You got it!");
                    return(true);
                }
                else
                {
                    PrintList("Pico ", pico);
                    PrintList("Fermi ", fermi);
                }
                Console.WriteLine();
            }

            Console.WriteLine("Oh, well.");
            Console.WriteLine($"That's {MaxGuesses} guesses.  My Number was {secret}");

            return(false);
        }