Symulacja gry w pokera - klasa scanner i błąd z wczytywaniem

0

Witam.
Mam za zadanie za symulować grę w pokera. Jednakże utknąłem na jakimś pierdzie, którego nie pamiętam jak się przeskakiwało. Mianowicie wczytuję w pętli graczy biorących udział w grze i po kolei pytam się czy wyświetlić ich karty, a później czy chcą jakieś zamienić. Pierwsze wywołanie pętli wychodzi okej ale później gdy przychodzi kolej na następnego gracza i ma mi podać odpowiedz czy wyświetlić jego karty program kończy się. Wygląda to mniej więcej tak:

Podaj liczbę graczy (2-4): 2
Podaj liczbę Botow (0-4): 0
Czy wyświetlić karty gracza? (T/N)
t
Karta nr 1: Król Kier
Karta nr 2: 4 Kier
Karta nr 3: 2 Pik
Karta nr 4: 9 Kier
Karta nr 5: 3 Pik
Czy chcesz wymienić jakieś karty? (T/N)
t
Wybierz numery kart, które chcesz wymienić: 
1
2
3
q
Pozbyłeś się kart: 
Król Kier
4 Kier
2 Pik
Czy wyświetlić karty gracza? (T/N)  // no i tu się nie chcą wczytać następne dane

A tak wygląda kod metody:

http://4programmers.net/Pastebin/2557

public void wymienKarty2(Rozgrywka rozgrywka){
    Scanner daneWejsciowe = new Scanner(System.in);
    ArrayList<Integer> kartyDoWymiany = new ArrayList<Integer>();
    String linia = "";

    for(int i=0;i<rozgrywka.tablicaGraczy.length;i++){
        linia = "";
        if(rozgrywka.tablicaGraczy[i].czyCzlowiek == true){
            if(i>1){
                for(int k=0;k<10;k++){
                    System.out.println("\n");
                }
            }
            System.out.println("Czy wyświetlić karty gracza? (T/N)");

            linia = daneWejsciowe.nextLine();
            if(linia.equals("t") || linia.equals("T")){
                wyswietlKartyGracza(rozgrywka, i);
                System.out.println("Czy chcesz wymienić jakieś karty? (T/N)");
                linia = daneWejsciowe.nextLine();
                if(linia.equals("t") || linia.equals("T")){
                    System.out.println("Wybierz numery kart, które chcesz wymienić: ");

                    while(daneWejsciowe.hasNextInt()){
                        kartyDoWymiany.add(daneWejsciowe.nextInt()-1);  
                    }
                    linia = "";
                    System.out.println("Pozbyłeś się kart: ");
                    for(int j=0;j<kartyDoWymiany.size();j++){
                        rozgrywka.tablicaGraczy[i].kartyGracza.get(kartyDoWymiany.get(j)).wyswietl();
                    }
                }
            }
        }
        else{
            System.out.println("Czy wyświetlić karty bota? (T/N)");
            if( linia.equals("t") || linia.equals("T")){
                wyswietlKartyGracza(rozgrywka, i);
            }
        }
    }
}

wklejenie kodu do posta - fp

0

Po pobraniu nextInt w buforze klawiatury pozostaje Enter którego pobiera kolejny nextLine - wychodzi pusta linia.

0

O właśnie o to chodziło, teraz muszę jeszcze raz pobrać nextLine nie? Jakoś tak to było?

zamiana znaczników <code> na `` - fp

1

Po zakończeniu serii nextInt'ów dajesz nextLine wynik którego zapisujesz na ścianę.

0

kurde nie rozumiem tego "zapisu na ścianę" zrobiłem tak: po serii nextInt'ów daneWejsciowe.nextLine() ale nie dało to nic:(

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