Witam,
Mam problem, chciałem napisać grę w Kamień, papier, nożyce.
Udało mi się częściowo zrobić ale gra nie kończy się w momencie w którym bym tego oczekiwał.
Założenie było takie że gra kończy się kiedy gracz wygrywa 3 razy lub przegrywa 3 razy, niestety gra kończy się dopiero w momencie kiedy gracz przegra i wygra 3 razy.
Myślałem żeby zrobić dwa warunki w pętli "while" po których gra miała by się zakończyć ale niestety chyba coś poszło nie tak.
import java.util.Random;
import java.util.Scanner;
public class PKN {
public static void main(String[] args) {
System.out.println("**************************");
System.out.println("* PAPIER, KAMIEN, NOŻYCE *");
System.out.println("**************************");
System.out.println();
int wygrana =0;
int przegrana = 0;
int remis = 0;
Random pc = new Random();
Scanner scanner = new Scanner(System.in);
System.out.println("Opcje:");
System.out.println("1 - Kamień");
System.out.println("2 - Papier");
System.out.println("3 - Nożyce");
System.out.println();
System.out.println("Twój wybór:");
while (wygrana < 3 || przegrana <3 ){
int gracz = scanner.nextInt();
System.out.println(pc.nextInt(2) + 1);
int komputer = pc.nextInt(2) + 1;
switch (gracz) {
case 1:
if (komputer == 1) {
System.out.println("Gracz: Kamień");
System.out.println("Komputer: Kamień");
System.out.println("Wynik: Remis!");
remis++;
} else if (komputer == 2) {
System.out.println("Gracz: Kamień");
System.out.println("Komputer: Papier");
System.out.println("Wynik: Wygrywa komputer!");
przegrana++;
} else {
System.out.println("Gracz: Kamień");
System.out.println("Komputer: Nożyce");
System.out.println("Wynik: Wygrywa gracz!");
wygrana++;
}
break;
case 2:
if (komputer == 1) {
System.out.println("Gracz: Papier");
System.out.println("Komputer: Kamień");
System.out.println("Wynik: Wygrywa gracz!");
wygrana++;
} else if (komputer == 2) {
System.out.println("Gracz: Papier");
System.out.println("Komputer: Papier");
System.out.println("Wynik: Remis!");
remis++;
} else {
System.out.println("Gracz: Papier");
System.out.println("Komputer: Nożyce");
System.out.println("Wynik: Wygrywa komputer!");
przegrana++;
}
break;
case 3:
if (komputer == 1) {
System.out.println("Gracz: Nożyce");
System.out.println("Komputer: Kamień");
System.out.println("Wynik: Wygrywa komputer!");
przegrana++;
} else if (komputer == 2) {
System.out.println("Gracz: Nożyce");
System.out.println("Komputer: Papier");
System.out.println("Wynik: Wygrywa gracz!");
wygrana++;
} else {
System.out.println("Gracz: Nożyce");
System.out.println("Komputer: Nożyce");
System.out.println("Wynik: Remis!");
remis++;
}
break;
}
System.out.println();
System.out.println("Wygrana: " + wygrana);
System.out.println("Przegrana: " + przegrana);
System.out.println("Remis: " + remis);
if (wygrana == 3) {
System.out.println("WYGRAŁEŚ!");
}
else if (przegrana >= 3) {
System.out.println("PRZEGRAŁEŚ!");
}
else {
System.out.println("Graj dalej");
}
}
}
}
Jestem początkujący i zapewne mnóstwo rzeczy zrobiłem na około. Nie chciałem szukać gotowców bo wolałbym jednak zrozumieć co robię.
TheLearner