int prikaz;
while (prikaz != 0) {
System.out.print("Co chceš udělat? ");
switch (prikaz) {
case 1:
Predmet predmet = hrac.getAktualniMistnost().getPredmety().stream()
.filter(i -> i.getJmeno().equals("mapa"))
.findFirst()
.orElse(null);
if (predmet != null) {
hrac.pridatPredmet(predmet);
hrac.getAktualniMistnost().getPredmety().remove(predmet);
System.out.println("Vzal jsem si tu mapu.");
} else {
System.out.println("Mapa není v místnosti.");
}
break;
case 2:
if (hrac.getInventar().stream().noneMatch(i -> i.getJmeno().equals("mapa"))) {
System.out.println("Nemůžeš opustit místnost bez mapy.");
} else {
Mistnost nextMistnost = hrac.getAktualniMistnost().getSoused().stream()
.filter(room -> room.getJmeno().equals("m2"))
.findFirst()
.orElse(null);
if (nextMistnost != null) {
hrac.setAktualniMistnost(nextMistnost);
System.out.println("Odejíždíš do " + nextMistnost.getJmeno() + ".");
} else {
System.out.println("Nemůžeš opustit místnost.");
}
}
break;
case 0:
System.out.println("Hra ukončena.");
return; // Ukončení hry
default:
System.out.println("Neznámý příkaz.");
break;
}
}
Итак, в примере типа 1 код работает так, как должен, но после действия он останавливается. Но я не хочу этого, я хочу, чтобы это вернулось к «Co chceš udělat?». Код требует, чтобы я добавил int prikaz=0;, но это тоже не помогает, пожалуйста, помогите
switch (prikaz) { case 1: Predmet predmet = hrac.getAktualniMistnost().getPredmety().stream() .filter(i -> i.getJmeno().equals("mapa")) .findFirst() .orElse(null);
if (predmet != null) { hrac.pridatPredmet(predmet); hrac.getAktualniMistnost().getPredmety().remove(predmet); System.out.println("Vzal jsem si tu mapu."); } else { System.out.println("Mapa není v místnosti."); } break;
case 2: if (hrac.getInventar().stream().noneMatch(i -> i.getJmeno().equals("mapa"))) { System.out.println("Nemůžeš opustit místnost bez mapy."); } else { Mistnost nextMistnost = hrac.getAktualniMistnost().getSoused().stream() .filter(room -> room.getJmeno().equals("m2")) .findFirst() .orElse(null);
if (nextMistnost != null) { hrac.setAktualniMistnost(nextMistnost); System.out.println("Odejíždíš do " + nextMistnost.getJmeno() + "."); } else { System.out.println("Nemůžeš opustit místnost."); } } break;
case 0: System.out.println("Hra ukončena."); return; // Ukončení hry default: System.out.println("Neznámý příkaz."); break; } } [/code] Итак, в примере типа 1 код работает так, как должен, но после действия он останавливается. Но я не хочу этого, я хочу, чтобы это вернулось к «Co chceš udělat?». Код требует, чтобы я добавил int prikaz=0;, но это тоже не помогает, пожалуйста, помогите