lundi 1 mai 2017

No repeating random number in loop

I am beginner in Java, Now, I am trying to create the Guess Game in computerized player. I'm ASL fluent, Please forgive me if I make a poorly grammar in english. I will do my best to make this clear.

I am trying to stop a repeating random number from integer. I used arraylist to make a random from list, seem random still pick up the same value, I thought random won't have same value. I used Collections.shuffle, but it only works in array. I used arraylist contains, but it require to have at least one array to make a true or false, it can't determined the true and false when array is empty when java is run in beginning. Please anyone can help me to stop this repeat? Thank you in advance time. This "int a" is from other class file (it is a Math.random).

public class GameGuess extends Thread {

    int a;

    public void Send(int a) {

        this.a = a;

        ArrayList myArray = new ArrayList();
        ArrayList secArray = new ArrayList();

        Random rand = new Random();
        int p1;
        int p2;

        do {

            p1 = (rand.nextInt(60 - 50) + 50);
            p2 = (rand.nextInt(60 - 50) + 50);

            myArray.add(p1);
            secArray.add(p2);

            System.out.println("Player 1: " + p1);
            System.out.println("Player 2: " + p2);

            if (p1 == a && p2 == a) {
                System.out.println("Both Player1 and 2 are tied!");
                break;
            }
            if (p1 == a) {
                System.out.println("Player 1 wins!");
            }
            if (p2 == a) {
                System.out.println("Player 2 wins!");
            }
            if (p1 != a && p2 != a) {
                System.out.println("No one win, try again!");
            }

        } while (p1 != a && p2 != a);

        System.out.println("Player 1 picked: " + myArray);
        System.out.println("Player 2 picked: " + secArray);
        System.out.println("The secret number is " + a);

    }
}




Aucun commentaire:

Enregistrer un commentaire