Example #1
0
        public static void Play()
        {
            Console.Clear();
            Console.SetCursorPosition(0, 3);
            Console.Clear();
            Matrix.Append("| ");

            for (int i = 0; i < CurrentProblem.NumbersCount; i++)
            {
                Matrix.Append(NewSuggestion[i]);
                Matrix.Append(" | ");
            }

            if (Scores.TotalGuesses == 0)
            {
                Matrix.Append(" Bulls | Cows |");
            }

            if (CurrentSuggest != null)
            {
                Matrix.Append("   " + CurrentSuggest.GetBulls() + "   |   " + CurrentSuggest.GetCows() + "  |");
            }

            Matrix.AppendLine();

            for (int i = 1; i < (CurrentProblem.NumbersCount * 4) + 2 + 16; i++)
            {
                Matrix.Append('-');
            }

            Matrix.AppendLine();
            Console.WriteLine(Matrix.ToString());

            Console.WriteLine("Write suggestion: ");

            // Read and parse input
            string input = Console.ReadLine();
            NewSuggestion = input;

            try
            {
                // Read and check input
                // Get List<int>
                CurrentGuess = new Input(input, CurrentProblem.NumbersCount);
            }
            catch (InvalidRangeException<int> e)
            {
                Console.WriteLine(e.Message);
            }
            catch (InvalidDigitsCountException e)
            {
                Console.WriteLine(e.Message);
            }
            catch (ArgumentOutOfRangeException e)
            {
                Console.WriteLine(e.Message);
            }

            Result = JudgeSystem.CheckResult(CurrentProblem.HiddenNumbers, CurrentGuess.NewGuess);

            // Create new guess
            CurrentSuggest = new Guess(CurrentGuess.NewGuess, Result.FindAll(x => (x == 0)).Count, Result.FindAll(x => (x == 1)).Count);

            // Save guess to Pesho`s list
            Pesho.MakeGuess(CurrentSuggest);

            Check = true;
            if (CurrentSuggest.Bulls != CurrentProblem.NumbersCount)
            {
                Check = false;
            }
            else
            {
                Win = true;
            }
        }
Example #2
0
 public override void MakeGuess(Guess guess)
 {
     // Implement bot guesses
 }
Example #3
0
 public override void MakeGuess(Guess guess)
 {
     this.Guesses.Add(guess);
 }