Programm verbessert

This commit is contained in:
Marc Koch 2020-04-07 19:11:35 +02:00
parent 3681b687e8
commit 7492051d9f
2 changed files with 56 additions and 34 deletions

View File

@ -8,4 +8,25 @@ Haftpflichtversicherung
Galionsfigur
Jackett
Zucchini
Rückgrat
Rückgrat
Brettspiel
Kellner
Flughafen
Stadtverwaltung
Epidemie
Stiefmutter
Paradiesvogel
Burgmauer
Schlafsack
Schafskäse
Gitarre
Gewächshaus
Fachinformatiker
Polymorphismus
Beistelltischchen
Segelflugzeug
Affenhaus
Bibliothek
Rakentenstufe
Photovoltaik
Photosynthese
1 Weihnachtsmann
8 Galionsfigur
9 Jackett
10 Zucchini
11 Rückgrat
12 Brettspiel
13 Kellner
14 Flughafen
15 Stadtverwaltung
16 Epidemie
17 Stiefmutter
18 Paradiesvogel
19 Burgmauer
20 Schlafsack
21 Schafskäse
22 Gitarre
23 Gewächshaus
24 Fachinformatiker
25 Polymorphismus
26 Beistelltischchen
27 Segelflugzeug
28 Affenhaus
29 Bibliothek
30 Rakentenstufe
31 Photovoltaik
32 Photosynthese

View File

@ -22,56 +22,56 @@ public class hangman {
StringBuilder maske = erzeugeMaske(wort.toString());
StringBuilder maskeVorlage = erzeugeMaske(wort.toString());
System.out.println(wort.toString());
// Maske ausgeben
System.out.println(maske.toString());
int versuche = 12;
int zaehler = 1;
int zaehler = 0;
boolean geloest = false;
boolean eingabeOkay;
while (!wortLowerCase.toString().equals(maskeVorlage.toString()) && versuche != 0 && !geloest) {
System.out.println(zaehler == 0 ? "Bitte raten Sie einen Buchstaben! (Geben Sie ein \"!\" ein, um zu lösen)" + " | übrige Versuche: " + versuche :
"Bitte raten Sie einen weiteren Buchstaben oder lösen Sie (\"!\")" + " | übrige Versuche: " + versuche);
// Eingabe erfassen und verifizieren
String eingabe = "";
eingabeOkay = false;
eingabe:
while (!eingabeOkay) {
System.out.println(zaehler == 0 ? "Bitte raten Sie einen Buchstaben! (Geben Sie ein \"!\" ein, um zu lösen)" + " | übrige Versuche: " + versuche :
"Bitte raten Sie einen weiteren Buchstaben oder lösen Sie (\"!\")" + " | übrige Versuche: " + versuche);
eingabe = scanner.next().trim().toLowerCase();
if (!eingabe.matches("[A-Za-zäöüÄÖÜ!]{1}")) {
System.err.println("Sie dürfen nur einen einzelnen Buchstaben eingeben! (z.B: \"M\" oder \"m\")");
}
// Soll ein Lösungswort eingegeben werden?
if (eingabe.equals("!")) {
System.out.println("Bitte geben Sie das Lösungswort ein! (\"!\" zum Abbrechen)");
eingabe = scanner.next().trim().toLowerCase();
if (!eingabe.matches("[A-Za-zäöüÄÖÜ!]")) {
System.out.println("Es sind nur Buchstaben erlaubt!");
} else if (eingabe.equals("!")) {
} else {
// Wenn das Lösungswort stimmt
if (eingabe.trim().toLowerCase().equals(wort.toString().toLowerCase())) {
System.out.println("Richtig!");
geloest = true;
eingabeOkay = true;
// Wenn das Lösungswort nicht stimmt
} else {
versuche--;
System.out.println("Leider falsch!");
System.out.println(maske.toString());
break eingabe;
}
}
} else {
eingabeOkay = true;
// Soll ein Lösungswort eingegeben werden?
if (eingabe.equals("!")) {
System.out.println("Bitte geben Sie das Lösungswort ein! (\"!\" zum Abbrechen)");
eingabe = scanner.next().trim().toLowerCase();
if (!eingabe.matches("[A-Za-zäöüÄÖÜ!]+")) {
System.out.println("Es sind nur Buchstaben erlaubt!");
} else if (eingabe.equals("!")) {
} else {
// Wenn das Lösungswort stimmt
if (eingabe.trim().toLowerCase().equals(wort.toString().toLowerCase())) {
zaehler++;
System.out.println();
System.out.println("Richtig!");
geloest = true;
eingabeOkay = true;
// Wenn das Lösungswort nicht stimmt
} else {
versuche--;
zaehler++;
System.out.println();
System.out.println("Leider falsch!");
System.out.println(maske.toString());
}
}
// Wenn ein Buchstabe geraten wurde
} else {
eingabeOkay = true;
}
}
}
@ -94,6 +94,7 @@ public class hangman {
zaehler++;
// Maske ausgeben
System.out.println();
System.out.println(maske.toString());
}
}