Labor – Schere - Stein - Papier
Links zu Theorie-Seiten:
-
Packages, Konstante, Zufallszahlen und Einlesen von Tastatur (behandelt zu Beginn Packages, nach den Konstanten die Klasse Random, danach Klasse Scanner)
Gegeben ist folgende Klasse:
Es gibt die 3 Gegenstände Schere, Stein, Papier. Die Regeln dürften bekannt sein – anderenfalls recherchieren!
Die nötige Eingabemethode ist:
public String eingabe() {
Scanner sc = new Scanner(System.in);
String txt = null;
// Beginn do-while
System.out.print("Eingabe (Groß/klein egal) 'Schere', 'Stein', 'Papier', 'STOP': ");
txt = sc.next().toLowerCase();
// wenn keiner der obigen Worte: Fehlermeldung, txt = null, Wiederholung
// wenn ok, Rückgabe von txt
// Ende do-while
return txt;
}
Es werden die Anzahlen der jeweiligen Siege (Spieler, Computer) mitgezählt.
Ein Spiel erfolgt durch Aufruf der Methode spiel().
Wenn Spiel beendet wird, gibt diese den Namen des Siegers (mehr Siege) und die Anzahl seiner Siege aus, danach die Anzahl der Fehl-Eingaben.
Die Anzahlen und die Sammlung der Fehleingaben werden sinnvollerweise als Instanzvariablen (int, String) verwaltet.
Beispiel:
Sieger: Evi (12 Siege)
Verlierer: Computer (9 Siege)
Fehleingaben: 3 ('wtein', 'pspier', 'xx')
In einer Schleife gibt Spieler1 (Du) den Gegenstand ein den er sich ausgedacht hat. Danach wird über Zufall der Gegenstand für Spieler 2 ausgewählt und der Sieger ermittelt. Beendet wird das Spiel sobald "stop" eingegeben wird.
Anmerkungen:
-
Punkteabzug auch bei einer schlechten Formatierung – halte dich an den im Unterricht besprochenen Stil.
-
Testen Sie alle Methoden aus!
-
Zufallszahlen liefert uns z.B. die Klasse
java.util.Randomund die Methode nextInt(…) -
Es ist die equals-Methode zum String-Vergleich zu verwenden.
-
Eingegebene Strings sind auf LowerCase umzuwandeln