Problem z prostym while'em - wyjmowanie 2 obiektow z listy jednoczesnie

0

Pomysly jak to rozwiazac? debugujac widze ze nawet do if'a nie chciał wejść i koniec koncow nie rozdaje kart

    public void rozdajKarty(Gracz gracz1, Gracz gracz2) {
        //jezeli zostala tylko jedna karta to wchodzi i error przy drugim uzytkowniku
        while (!taliaKart.isEmpty()) {
            gracz1.dodajKarte(dajKarteRandomowo());
//            if (!taliaKart.isEmpty()) {
                gracz2.dodajKarte(dajKarteRandomowo());
//            }
        }
    }
0

If wykomentowany, nie wiadomo czy "bo tak mi się wrzuciło" czy rzeczywiście tak masz w kodzie. Nie wiadomo też trochę jak działa metoda dajKarteRandomowo więc trudno coś powiedzieć.

0
 public Karta dajKarteRandomowo() {
        Random random = new Random();
        return taliaKart.remove(random.nextInt(taliaKart.size()));
    }

if wykomentowany specjalnie bo nie działa - a żeby pokazac ze cos takiego probowalem

0

no problem jest w tym ze jak zostały 3 karty w tali albo nieparzysta liczba, patrzy czy talia pusta- nie nie jest, wiec rozdaje jedna karte a druga jak chce dac już nie może i error

0

Dla mnie wygląda okej. Pokaż ewentualnie cały kod.

0

jak może być okay :D, mamy 1 karte - is list empty? nie nie jest pusta bo jest 1 karta, wchodzi - daje ja "randomowa" pierwszemu graczowi, drugi chce wziąć jakas ale lista pusta i jest exception

0
public void rozdajKarty(Gracz gracz1, Gracz gracz2) {
        for (int i = 0; i < taliaKart.size()/2; i++) {
            gracz1.dodajKarte(dajKarteRandomowo());
        }
        for (int i = 0; i < taliaKart.size()/2; i++) {
            gracz2.dodajKarte(dajKarteRandomowo());
        }
    }

to niby rozwiazuje problem ale teraz gubimy ta jedna karte dodatkowa

1 użytkowników online, w tym zalogowanych: 0, gości: 1