Untitled

 avatar
unknown
csharp
5 months ago
1.8 kB
6
Indexable
public class guessRandomNumber
{
    int correctAnswer;
    int limitLow = 0;
    int limitHigh = 100;
    int nextGuess = 50;
    int resultFromGuess = 0;

    const int GUESS_TOO_HIGH = 2;
    const int GUESS_TOO_LOW = 1;
    const int GUESS_CORRECT = 3;

    public guessRandomNumber()
    {
        Random random = new Random();
        correctAnswer=random.Next(limitLow, limitHigh);
        Debug.WriteLine("correct answer = " + correctAnswer);

        while (resultFromGuess != GUESS_CORRECT)
        {
            Debug.WriteLine("guessing.. "+nextGuess);
            resultFromGuess = CheckGuess(nextGuess);
            if (resultFromGuess == GUESS_CORRECT)
            {
                Debug.WriteLine("guess correct! answer was " + nextGuess);
            }
            else if (resultFromGuess == GUESS_TOO_HIGH)
            {
                
                limitHigh = nextGuess-1;
                Debug.WriteLine("guess too high, setting new limitHigh=" + limitHigh+" answer = "+correctAnswer);
            }
            else if (resultFromGuess == GUESS_TOO_LOW)
            {
                limitLow = nextGuess+1;
                Debug.WriteLine("guess too low, setting new limitLow=" + limitLow + " answer = " + correctAnswer);
            }

            nextGuess = limitLow+Math.Abs((limitHigh - limitLow) / 2);
        }
    }

    public int CheckGuess(int guess)
    {
        int result = 0;
        if ((guess==correctAnswer))
        {
            result = GUESS_CORRECT;
        }
        else if (guess > correctAnswer)
        {
            result=GUESS_TOO_HIGH;
        }
        else if (guess < correctAnswer)
        {
            result = GUESS_TOO_LOW;
        }
        return result;
    }
}
Editor is loading...
Leave a Comment