initial commit
This commit is contained in:
commit
1f91880131
|
|
@ -0,0 +1,11 @@
|
||||||
|
Weihnachtsmann
|
||||||
|
Atmosphäre
|
||||||
|
Gymnastik
|
||||||
|
Rhythmus
|
||||||
|
Metapher
|
||||||
|
Arbeitsunfähigkeitsbescheinigung
|
||||||
|
Haftpflichtversicherung
|
||||||
|
Galionsfigur
|
||||||
|
Jackett
|
||||||
|
Zucchini
|
||||||
|
Rückgrat
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
package gfn.marc;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Scanner;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class CSVDatei{
|
||||||
|
|
||||||
|
// Attribute
|
||||||
|
private String pfad;
|
||||||
|
private String dateiname;
|
||||||
|
|
||||||
|
|
||||||
|
// Konstruktor
|
||||||
|
public CSVDatei(String pfad, String dateiname) {
|
||||||
|
this.pfad = pfad;
|
||||||
|
this.dateiname = dateiname;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Methode: lese()
|
||||||
|
public ArrayList<String> lese() throws FileNotFoundException {
|
||||||
|
String pfadname = this.pfad + this.dateiname;
|
||||||
|
File csvDatei;
|
||||||
|
|
||||||
|
// neues FileObjekt erstellen
|
||||||
|
csvDatei = new File(pfadname);
|
||||||
|
|
||||||
|
if (csvDatei.exists()) {
|
||||||
|
Scanner eingabe;
|
||||||
|
|
||||||
|
// neues Scanner-Objekt erstellen
|
||||||
|
eingabe = new Scanner(csvDatei);
|
||||||
|
|
||||||
|
|
||||||
|
// Auslesen der Daten in einer Schleife und Ablegen in einer ArrayList
|
||||||
|
ArrayList<String> ausgabe = new ArrayList<>();
|
||||||
|
int i = 0;
|
||||||
|
while(eingabe.hasNext()){
|
||||||
|
String zeile = eingabe.next();
|
||||||
|
ausgabe.add(zeile);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Verbindung schliessen und ArrayList zurückgeben
|
||||||
|
eingabe.close();
|
||||||
|
return ausgabe;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,79 @@
|
||||||
|
package gfn.marc;
|
||||||
|
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class hangman {
|
||||||
|
|
||||||
|
public static void main(String[] args) throws IOException {
|
||||||
|
|
||||||
|
Scanner scanner = new Scanner(System.in);
|
||||||
|
|
||||||
|
// CSV einlesen
|
||||||
|
CSVDatei csv = new CSVDatei("", "Woerter.csv");
|
||||||
|
ArrayList<String> woerter = csv.lese();
|
||||||
|
|
||||||
|
// Wort per zufall auswählen
|
||||||
|
StringBuilder wort = new StringBuilder(woerter.get((int) (Math.random() * (woerter.size() - 1))));
|
||||||
|
StringBuilder wortLowerCase = new StringBuilder(wort.toString().toLowerCase());
|
||||||
|
|
||||||
|
// Zwei Masken erzeugen
|
||||||
|
StringBuilder maske = erzeugeMaske(wort.toString());
|
||||||
|
StringBuilder maskeVorlage = erzeugeMaske(wort.toString());
|
||||||
|
|
||||||
|
System.out.println(wort);
|
||||||
|
System.out.println(maske.toString());
|
||||||
|
|
||||||
|
int zaehler = wort.length() + 3;
|
||||||
|
|
||||||
|
|
||||||
|
while (!wortLowerCase.toString().equals(maskeVorlage.toString()) && zaehler != 0) {
|
||||||
|
System.out.println(zaehler == wort.length() + 3 ? "Bitte raten Sie einen Buchstaben!" + "| Versuche: " + zaehler :
|
||||||
|
"Bitte raten Sie einen weiteren Buchstaben" + "| Versuche: " + zaehler);
|
||||||
|
|
||||||
|
// Eingabe erfassen und verifizieren
|
||||||
|
String eingabe = "";
|
||||||
|
while (true) {
|
||||||
|
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\")");
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Eingabe verarbeiten
|
||||||
|
while (wortLowerCase.indexOf(eingabe) != -1) {
|
||||||
|
maske.replace(wortLowerCase.indexOf(eingabe), (wortLowerCase.indexOf(eingabe) + 1),
|
||||||
|
String.valueOf(wort.charAt(wortLowerCase.indexOf(eingabe))));
|
||||||
|
wortLowerCase.replace(wortLowerCase.indexOf(eingabe), (wortLowerCase.indexOf(eingabe) + 1), "*");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Zaehler herunterzählen
|
||||||
|
zaehler--;
|
||||||
|
|
||||||
|
// Maske ausgeben
|
||||||
|
System.out.println(maske.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Ausgabe: Spiel gewonnen / verloren
|
||||||
|
if (zaehler == 0) {
|
||||||
|
System.out.println("Sie haben verloren!");
|
||||||
|
} else {
|
||||||
|
System.out.println("Sie haben gewonnen!");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static StringBuilder erzeugeMaske(String wort) {
|
||||||
|
StringBuilder maske = new StringBuilder(wort.length());
|
||||||
|
for (int i = 0; i < wort.length(); i++) {
|
||||||
|
maske.append("*");
|
||||||
|
}
|
||||||
|
return maske;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue