01 Schere, Stein, Papier
Aufgabenstellung
Erstelle ein funktionierendes «Schere, Stein, Papier» Spiel in JavaScript.
Zielverhalten
Das Script soll direkt nach dem Laden einer HTML-Seite ausgeführt werden. Es ist unterteilt in drei Schritte:
Frage nach dem eigenen Spielzug (Schere, Stein oder Papier)
Automatisches Generieren eines Spielzuges für den Gegenspieler (Computer)
Erruieren des Gewinners
Lösungsschritte
Entwickle das Script immer nur so weit, bis alle Komponenten des jeweiligen Schrittes komplett erfüllt werden. Erweitere es anschliessend, damit der nächste Schritt erfüllt wird.
Schritt 1
Erstelle einen Controller GameController.php
, der eine View rock-paper-scissors.view.php
lädt. Die View ist eine einfache HTML-Seite, welche die neue Datei rock-paper-scissors.js
aus dem public/
-Ordner lädt.
Erstelle ein Array mit allen erlaubten Spielzügen (Schere
, Stein
und Papier
).
Frage nach dem Spielzug des Spielers. Nutze dazu die prompt
Funktion um die Eingabe in eine Variable zu speichern.
Überprüfe mittels indexOf
-Methode, ob die Eingabe im Array mit den erlaubten Spielzügen vorhanden ist. Erstelle eine entsprechende Ausgabe mittels alert
:
Mittels
throw
kannst Du einen Error erzeugen und somit auch dem Browser mitteilen, dass etwas schief gelaufen ist. Die Ausführung des Scripts wird dann sofort beendet. Der nachfolgende Code wird somit nicht ausgeführt.
Schritt 2
Wähle ein zufälliges Element aus dem erlaubt
Array als Spielzug für den Computer aus. Speichere dieses in die Variable spielzugComputer
. Gib diese via alert
aus.
Wie Du ein zufälliges Array-Element auswählen kannst, kann dir Google sicher verraten. Kannst du den gefundenen Code auch erklären?
Schritt 3
Erstelle ein Funktion spiele
, die zwei Parameter spielzugSpieler
und spielzugComputer
akzeptiert. Die Funktion soll nun gemäss den «Schere, Stein, Papier» Regeln herausfinden, wer gewonnen hat.
Als return
Wert soll die Funktion entweder den String Computer gewinnt
, Spieler gewinnt
oder Unentschieden
zurückgeben. Nutze die Funktion um das Ergebnis des Spiels via alert
auszugeben.
Schritt 4 (Zusatzaufgabe)
Stelle sicher, dass die Gross- und Kleinschreibung sowie vorhergehende oder folgende Leerzeichen in der Eingabe keine Auswirkung haben.
SCHERE
, schere
, StEiN
, PaPIER
müssen alle als Eingabe akzeptiert werden.
Lösung
Mögliche Lösungen zu den Aufgaben werden dir vom Kursleiter bereitgestellt. Natürlich ist die Ausgabe des Scripts entscheidend, nicht der Code dazu.
Es sind also mehrere Lösungen möglich, solange durch die richtige Logik die gewünschte Ausgabe erzeugt wird.
Last updated
Was this helpful?