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); }
public override int GuessReturn(int guessmin, int guessmax) { AIGuess = RandomGuess.Next(guessmin + 1, guessmax - 1); return(AIGuess); }
public RandomGuessTests() { _randomGuess = new RandomGuess(); }