Ändern Sie das Hangman-Spiel aus diesem Studienheft so, dass das Wort nicht mehr zufällig aus einem Array ermittelt wird, sondern aus der Datei, die Sie in der Aufgabe 1 erstellt haben. Das Wort soll dabei aber nach wie vor zufällig ermittelt werden.
Afugabe 1
Meine Lösung
funktioniert
//die Methode zum Lesen
//Aufgabe 1-10-07.2021--
private void dateiLesen() {
//die Datei zum Lesen öffnen
try (RandomAccessFile datei = new RandomAccessFile("txt.dat","r")){
//die Daten aus der Datei lesen
for (int index = 0; index < anzahlWörter; index++) {
//anzahl der Wörter--Aufgabe 1
anzahlWörter = datei.readInt();
feld.append(datei.readUTF());
datei.close();
}
}
catch (IOException e ) {
JOptionPane.showMessageDialog(this, "Beim Laden ist ein Problem aufgetreten");
}
}
//die Methode zum Schreiben
//die Datei Zum Schreiben aufgabe 1--
private void dateiSchreiben() {
//eine Instanz der Klasse FileWriter mit der Datei daten.txt
try (RandomAccessFile datei = new RandomAccessFile("txt.dat","rw")){
//die datei in di Datei schreiben aufgabe 1
anzahlWörter ++;
datei.writeInt(anzahlWörter);
datei.seek(datei.length());
datei.writeUTF(feld.getText());
feld.setText("" + "\n");
datei.close();
}
catch (IOException e ) {
JOptionPane.showMessageDialog(this, "Beim Schreiben ist ein Problem aufgetreten");
}
}
}
Aufgabe 2 Bitte Hilfe
Ändern Sie das Hangman-Spiel aus diesem Studienheft so, dass das Wort nicht mehr zufällig aus einem Array ermittelt wird, sondern aus der Datei, die Sie in der Aufgabe 1 erstellt haben. Das Wort soll dabei aber nach wie vor zufällig ermittelt werden.
//die Methode ermittelt zufällig ein Wort
private void neuesWort() {
int zufall = 0;
//die Wortliste
String[] woerter ={"Test", "Automobil", "Versuch", "Hund", "Katze",
"Ziege", "Maus", "Elefant", "Isopropylalkohol", "Schwimmbad"};
//ein zufälliges Wort ermitteln
//dazu wird eine zufällige Zahl zwischen 0 und 1 ermitteln und mit der Länge von woerter multipliziert
zufall = (int)(Math.random() * woerter.length);
//das Suchwort und die Zeichen für die Anzeige setzen
suchwort = new String(woerter[zufall]);
anzeige = new StringBuilder(suchwort);
//alle Zeichen in der Anzeige ersetzen durch *
for (int zeichen = 0; zeichen < suchwort.length(); zeichen++)
anzeige.setCharAt(zeichen, '*');
//die Sternchen anzeigen
ausgabeText.setText(anzeige.toString());
}
Afugabe 1
Meine Lösung
funktioniert
//die Methode zum Lesen
//Aufgabe 1-10-07.2021--
private void dateiLesen() {
//die Datei zum Lesen öffnen
try (RandomAccessFile datei = new RandomAccessFile("txt.dat","r")){
//die Daten aus der Datei lesen
for (int index = 0; index < anzahlWörter; index++) {
//anzahl der Wörter--Aufgabe 1
anzahlWörter = datei.readInt();
feld.append(datei.readUTF());
datei.close();
}
}
catch (IOException e ) {
JOptionPane.showMessageDialog(this, "Beim Laden ist ein Problem aufgetreten");
}
}
//die Methode zum Schreiben
//die Datei Zum Schreiben aufgabe 1--
private void dateiSchreiben() {
//eine Instanz der Klasse FileWriter mit der Datei daten.txt
try (RandomAccessFile datei = new RandomAccessFile("txt.dat","rw")){
//die datei in di Datei schreiben aufgabe 1
anzahlWörter ++;
datei.writeInt(anzahlWörter);
datei.seek(datei.length());
datei.writeUTF(feld.getText());
feld.setText("" + "\n");
datei.close();
}
catch (IOException e ) {
JOptionPane.showMessageDialog(this, "Beim Schreiben ist ein Problem aufgetreten");
}
}
}
Aufgabe 2 Bitte Hilfe
Ändern Sie das Hangman-Spiel aus diesem Studienheft so, dass das Wort nicht mehr zufällig aus einem Array ermittelt wird, sondern aus der Datei, die Sie in der Aufgabe 1 erstellt haben. Das Wort soll dabei aber nach wie vor zufällig ermittelt werden.
//die Methode ermittelt zufällig ein Wort
private void neuesWort() {
int zufall = 0;
//die Wortliste
String[] woerter ={"Test", "Automobil", "Versuch", "Hund", "Katze",
"Ziege", "Maus", "Elefant", "Isopropylalkohol", "Schwimmbad"};
//ein zufälliges Wort ermitteln
//dazu wird eine zufällige Zahl zwischen 0 und 1 ermitteln und mit der Länge von woerter multipliziert
zufall = (int)(Math.random() * woerter.length);
//das Suchwort und die Zeichen für die Anzeige setzen
suchwort = new String(woerter[zufall]);
anzeige = new StringBuilder(suchwort);
//alle Zeichen in der Anzeige ersetzen durch *
for (int zeichen = 0; zeichen < suchwort.length(); zeichen++)
anzeige.setCharAt(zeichen, '*');
//die Sternchen anzeigen
ausgabeText.setText(anzeige.toString());
}