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