Program z opcją wielokrotnego wyboru

0

Witam, na początku chciałem wyznać że niedawno temu zacząłem bawić się z Javą, a także ogólnie programowaniem także jestem jeszcze zielony.

Mój problem polega na tym, że planowałem stworzyć "mini grę" na podstawie której gracz będzie mógł wybierać np. 2 opcje z listy. I właśnie tutaj mam problem, ponieważ po wyborze jednej z opcji w pierwszej sytuacji, nie mogę wybrać kolejnych ponieważ program kończy się na wyświetleniu reszty tekstu.

Wygląda to dokładnie tak:

Budzisz się w lesie... wokół Ciebie występuje mrok.
Stojąc pośrodku lasu, zacząłeś przeszukiwać kieszenie.

Wciśnij ENTER by kontynuować.

Wciskam enter

Znalazłeś kość ośmiościenną. Postanawiasz nią rzucić.

Wylosowałeś 1
Przed tobą - widzisz ruszający się kszak, co robisz?
'A' Uciekam.
'B' Czekam.
Wybierz A lub B:

Koniec

Także chciałbym usprawnić ten programy bym mógł wprowadzać znaki w tych odpowiednich momentach

PS. Do wprowadzania znaku używałem System.in.read()

1

Po wciśnięciu sekwencji klawiszy np. 'A', 'Enter' to w takim przypadku po pierwszym wywołaniu metoda System.in.read() zwróci kod znaku 'A', natomiast w buforze pozostanie znak 'Enter', więc kolejne wywołanie funkcji System.in.read() zwróci kod znaku 'Enter' (w przypadku systemu Windows klawisz 'Enter' jest reprezentowany przez dwa znaki, dlatego dopiero dwukrotne wywołanie System.in.read() spowoduje pozbycie się 'Entera'). Aby się pozbyć tego znaku 'Enter' możesz wywoływać nadmiarowo funkcję System.in.read() lub np. skorzystać z klasy Scanner:

Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
if(line.equals("A")) {
    System.out.println("Wybrano opcję A");
}
2

A jeśli chcesz ułatwić życie użytkownikowi, to

if(line.equalsIgnoreCase("A"))

może wtedy wpisać zarówno "A" jak i "a".

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