dimanche 9 février 2020

Choosing possible highest number

i'm doing Card game with java and there is one simple rule you have to choose number equal to previous or lower. I can't make program to choose equal or lower number than previous.

public static void main(String[] args) throws InterruptedException {
        Random First = new Random();
        TimeUnit.MILLISECONDS.sleep(1000);
        System.out.print("First card is: ");
        int FirstCard = 8;
        int Losowa = First.nextInt(FirstCard);
        System.out.println(Losowa);
        TimeUnit.MILLISECONDS.sleep(600);
        Random il_kart = new Random();
        System.out.print("Your cards: ");
        for (int i = tablica[0]; i < 5; i++) {
            int upperbound = 8;
            tablica[i] = il_kart.nextInt(upperbound);
            System.out.print(tablica[i] + " ");
            TimeUnit.MILLISECONDS.sleep(250);


        }


        Random Enemy_cards = new Random();
        System.out.print("enemy's card is: ");
        for (int i = EnemyTab[0]; i < 5; i++) {
            int upperbound = 8;
            EnemyTab[i] = il_kart.nextInt(upperbound);
            System.out.print(EnemyTab[i] + " ");
            TimeUnit.MILLISECONDS.sleep(250);
        }
        TimeUnit.MILLISECONDS.sleep(800);
        System.out.println(" ");
        System.out.println("Your turn!");

        if (tablica[0] <= Losowa || tablica[1] <= Losowa || tablica[2] <= Losowa || tablica[3] <= Losowa || tablica[4] <= Losowa) {

            Scanner choose = new Scanner(System.in);
            int wyb = choose.nextInt();
            if (wyb <= tablica[0] || wyb <= tablica[1] || wyb <= tablica[2] || wyb <= tablica[3] || wyb <= tablica[4]) {
                System.out.println("You choose " + wyb);
            }
            while (wyb > Losowa) {
                System.out.print("You can't play this");
                System.out.println("Choose another card");
                choose = new Scanner(System.in);
                wyb = choose.nextInt();
                System.out.println("You choose " + wyb);
            }

        } else if (tablica[0] != Losowa || tablica[1] != Losowa || tablica[2] != Losowa || tablica[3] != Losowa || tablica[4] != Losowa) {
            System.out.println("You can't play any card");
        }

        TimeUnit.MILLISECONDS.sleep(800);
        System.out.println("Enemy's turn...");
        TimeUnit.MILLISECONDS.sleep(800);
        System.out.print("Your opponent plays: ");

        if (EnemyTab[0] <= Losowa || EnemyTab[0] <= tablica[wyb] || EnemyTab[1] <= Losowa || EnemyTab[1] <= tablica[wyb] || EnemyTab[2] <= Losowa || EnemyTab[2] <= tablica[wyb] || EnemyTab[3] <= Losowa || EnemyTab[3] <= tablica[wyb] || EnemyTab[4] <= Losowa || EnemyTab[4] <= tablica[wyb]) {
            int odp = tablica[wyb];
            for (int i = 0; i <= EnemyTab.length; i++)
                System.out.println(odp);

            TimeUnit.MILLISECONDS.sleep(800);




        }

The output is:

First card: 5
Your cards are: 1 4 7 0 4  
enemy's card is: 6 7 6 6 3  
Your turn!
4
You choose: 4
Enemy's turn...
Your enemy plays: 7
7
7
7
7
7
Round 2
Your turn!

What can i do to make computer choose number equal to mine or lower? Losowa is first random card, wyb is Scanner (choosing card)




Aucun commentaire:

Enregistrer un commentaire