Die Aufgabe
Aufgabe 3
Zu einer Aufgabe in Übungsblatt 2 wurde bereits das Spiel „SchnickSchnackSchuck“ programmiert, wobei die Ein- und Ausgaben in der Konsole erfolgte. Nun soll das Spiel als JavaFX-Anwendung über ein Fenster bedient werden.
Hierzu wird die bereitgestellte Klasse SchnickSchnackSchnuck verwendet.
Das von der Anwendung erstellte Fenster soll mit der erforderlichen Funktionalität versehen werden. Der Benutzer wählt in der ComboBox Schere, Stein oder Papier aus. Daraufhin wird die zufällige Wahl des Computers angezeigt, sowie der Gewinner und der aktualisierte Spielstand. Drückt man „Noch einmal“, so werden die Auswahl-ComboBox ebenso wie die Anzeige der Computer-Wahl und des Gewinners zurückgesetzt, und man kann eine weitere Runde spielen.
Hinweise: Um auf den Klick auf die gewünschte Wahl in der ComboBox zu reagieren, kann man – wie bei einem Button – die Methode setOnAction verwenden. Den vom Benutzer in der ComboBox ausgewählten Wert erhält man mit Hilfe der Methode „getValue“.
Nach getroffener Wahl und der Anzeige des Ergebnisses soll die ComboBox zunächst deaktiviert werden. Dies erreicht man mittels comboBox.setDisable(true).
Drückt man den Button „Noch einmal“, so wird die comboBox wieder aktiviert (mittels comboBox.setDisable(false)). Zudem wird der gewählte Wert auf null gesetzt (comboBox.setValue(null)).
Für die zufällige Auswahl des Computers und die Ermittlung des Gewinners können Sie den Code aus Ihrer Lösung aus dem Übungsblatt 2 kopieren.
Das Fenster ist vorgegeben, ihm fehlt nur das Verhalten. Die vorgegebene Klasse liegt uns nicht vor; das Fenster hier (Zeilen 21 bis 55) stammt aus der Musterlösung. Neu zu schreiben sind die Attribute (Zeilen 14 bis 16), die beiden Reaktionen (57 bis 74) und die zwei Methoden für Zufall und Gewinner (77 bis 117).
Die Spiellogik übernehmen wir aus Blatt 2, wie die Aufgabe erlaubt. Die Musterlösung nimmt dort eine kürzere Variante mit einer einzigen Bedingung; wir bleiben bei der Fassung mit einer Regel je Fall, die Blatt 2 Schritt für Schritt erklärt.
- Das vorgegebene Fenster lesen.
- Spielstand als Attribute, Zufall und Gewinner als Methoden aus Blatt 2.
- Auf die Wahl reagieren, dann auf „Noch einmal“.
- Ein Probelauf.