From 7492051d9ff6f0e58403ca3730a8e657499f387d Mon Sep 17 00:00:00 2001 From: Marc Michalsky Date: Tue, 7 Apr 2020 19:11:35 +0200 Subject: [PATCH] Programm verbessert --- Woerter.csv | 23 +++++++++++++- src/gfn/marc/hangman.java | 67 ++++++++++++++++++++------------------- 2 files changed, 56 insertions(+), 34 deletions(-) diff --git a/Woerter.csv b/Woerter.csv index a752b63..5e95fa6 100644 --- a/Woerter.csv +++ b/Woerter.csv @@ -8,4 +8,25 @@ Haftpflichtversicherung Galionsfigur Jackett Zucchini -Rückgrat \ No newline at end of file +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 \ No newline at end of file diff --git a/src/gfn/marc/hangman.java b/src/gfn/marc/hangman.java index 9bcb37a..69a3a2f 100644 --- a/src/gfn/marc/hangman.java +++ b/src/gfn/marc/hangman.java @@ -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()); } }