uebungen/Assignment_041/readme.md

51 lines
1.9 KiB
Markdown
Raw Permalink Normal View History

2024-01-21 13:36:56 +01:00
# Assignment: Stein, Papier, Schere, Echse, Spock
2023-04-20 18:42:47 +02:00
2024-01-08 15:32:04 +01:00
[Musterlösung](solution/)
2023-04-20 18:42:47 +02:00
## Lernziel
2024-01-21 13:36:56 +01:00
Mit Enumerationen arbeiten.
2023-04-20 18:42:47 +02:00
## Aufgabe
2024-01-21 13:36:56 +01:00
Gehen Sie in das Paket [pr2.enums.schnick](../sources/src/main/java/pr2/enums/schnick).
2023-04-20 18:42:47 +02:00
2024-01-21 13:36:56 +01:00
![Regeln für Schnick-Schnack-Schnuck](img/schnick.png)
2023-04-20 18:42:47 +02:00
2024-01-21 13:36:56 +01:00
Schreiben Sie ein einfaches Spiel (Klasse `SchnickSchnackSchnuck`), bei dem Sie gegen den Computer Schnick-Schnack-Schnuck spielen (auch Rock, Paper, Scissors genannt) mit folgenden Eigenschaften:
2023-04-20 18:42:47 +02:00
2024-01-21 13:36:56 +01:00
* Das Spiel geht über drei Runden.
* Es fragt den Spieler nach seiner Auswahl (r, p, s).
* Der Computer zieht zufällig eine der drei Möglichkeiten.
* Nach jeder Runde sagt das Spiel, wer welche Möglichkeit gewählt hat und wer die Runde gewonnen hat.
* Ein Sieg bringt einen Punkt, ein Unentschieden 0 Punkte.
* Die Punkte jeder Runde werden addiert.
* Am Ende wird der Gesamtpunktestand ausgegeben.
2023-04-20 18:42:47 +02:00
2024-01-21 13:36:56 +01:00
Eine beispielhafte Session mit dem Programm sieht dann wie folgt aus:
2023-04-20 18:42:47 +02:00
2024-01-21 13:36:56 +01:00
```console
Runde 1: Dein Zug ([r]rock, [p]aper, [s]cissors)? r
Der Computer hat gewonnen - Du: ROCK, Computer: PAPER - [0:1]
2023-04-20 18:42:47 +02:00
2024-01-21 13:36:56 +01:00
Runde 2: Dein Zug ([r]rock, [p]aper, [s]cissors)? p
Unentschieden - Du: PAPER, Computer: PAPER - [0:1]
Runde 3: Dein Zug ([r]rock, [p]aper, [s]cissors)? s
Du hast gewonnen: Du: SCISSORS, Computer: PAPER - [1:1]### Abgabe
Ergebnis - Du 1 Punkt(e), Computer 1 Punkt(e)
```
Repräsentieren Sie die Züge mithilfe einer Enumeration `Move`. Diese soll auch die Tasten beinhalten, welche man für die einzelnen Züge (`r`, `p`, `s`) drücken muss.
## Abgabe (optional)
__Sie müssen keine Lösung für diese Aufgabe einreichen.__
Sie können Ihre Lösung aber auf die Konformität mit den Programmierstandards testen. Hierzu gehen Sie wie folgt vor:
1. Öffnen Sie eine Kommandozeile (Terminal).
2. Gehen Sie in Ihr Working Directory.
3. Wechseln Sie mit `cd` in das Verzeichnis `sources`.
4. Bauen Sie das Projekt mit dem Kommando `mvn`.