Пример #1
0
 public override int GuessReturn(int guessmin, int guessmax)
 {
     KeepGuess = true;
     while (KeepGuess)
     {
         AIGuess = RandomGuess.Next(guessmin + 1, guessmax - 1);
         if (AIGuess % 2 == 0)
         {
             return(AIGuess);
         }
         if (guessmin + 2 == guessmax)
         {
             return(guessmin + 1);
         }
     }
     return(0);
 }
        public IGuessBehaviour GetGuess(PlayerType playerType, IGuessSubject guessSubject)
        {
            IGuessBehaviour  guessBehaviour;
            IRandomGenerator randomGenerator = new RandomNumberGenerator();

            switch (playerType)
            {
            case PlayerType.Random:
                guessBehaviour = new RandomGuess();

                break;

            case PlayerType.Memory:
                guessBehaviour = new MemoryGuess(randomGenerator);

                break;

            case PlayerType.Thorough:
                guessBehaviour = new ThroughGuess();

                break;

            case PlayerType.Cheater:
                guessBehaviour = new CheatingRandomGuess(randomGenerator, guessSubject);

                break;

            case PlayerType.ThoroughCheater:
                guessBehaviour = new CheatingThoroughGuess(guessSubject);

                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(playerType), playerType, null);
            }

            return(guessBehaviour);
        }
Пример #3
0
 public override int GuessReturn(int guessmin, int guessmax)
 {
     AIGuess = RandomGuess.Next(guessmin + 1, guessmax - 1);
     return(AIGuess);
 }
Пример #4
0
 public RandomGuessTests()
 {
     _randomGuess = new RandomGuess();
 }