lundi 31 octobre 2016

How can I generate a random number greater or less than a previous random number?

I am currently in a Java 1 class, and made a number guessing game for fun. Basic take input, tells you if it's too high or low, then lets you guess again. I thought it would be interesting to make it so the computer guesses as well, then compares your guesses to its. I have all of the generation and comparing working, but it continues to guess numbers without taking the greater/less than into account, which I want to add. I have:

    public static void autoPlay(int num){
    Random rand = new Random();
    int guess1 = rand.nextInt(100) + 1;
    int counter = 0;
    while(guess1 != num){
        counter++;
        int guess = rand.nextInt(100) + 1;
        int initialHigh = 100;
        int initialLow = 0;
        // I want it to guess smart and recognize if it were too high or too low, and generate a number between there

        if(guess1 > num){   
            int newGuess = rand.nextInt(initialHigh - guess1) + 1;
        }else if(guess1 < num){
            int newGuess2 = rand.nextInt(initialLow + guess1) + 1;
        }
        initialLow = guess;
        initialHigh = guess;
        guess1 = guess;
        System.out.printf("%3d", guess1);
    }
    System.out.println("It took " + counter + " guesses to get the correct number");
}

I can't tell what is wrong with my math in the if statement, or if theres just something I can call to do that.




Aucun commentaire:

Enregistrer un commentaire