Labor – Schere - Stein - Papier

Links zu Theorie-Seiten:

Gegeben ist folgende Klasse:

SchereSteinPapiernameSpieler1: StringnameSpieler2: String = "Computer"eventuelle-weitere-EigenschaftenKonstruktor(nameSpieler1: String)get/set-Methodenspiel()eventuelle-weitere-Methoden(): ihr-RückgabeTyp

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.Random und die Methode nextInt(…​)

  • Es ist die equals-Methode zum String-Vergleich zu verwenden.

  • Eingegebene Strings sind auf LowerCase umzuwandeln