Update of exercises

main
Thomas Smits 2025-10-01 12:54:05 +02:00
parent 9684b89379
commit f47d55b42a
4 changed files with 73 additions and 4 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,59 @@
# Assignment: Stein, Papier, Schere (, Echse, Spock)
**🎓 Benotetes Assignment 🎓**
📆 **Fällig: 07.10.2025** 📆
## Lernziel
Einfaches Kommandozeilenprogramm mit Konsolen-Eingabe und Ausgabe.
## Aufgabe
Gehen Sie in das Paket [pr2.auffrischung.schnick](../sources/src/main/java/pr2/auffrischung/schnick).
![Regeln für Schnick-Schnack-Schnuck](img/schnick.png)
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:
* 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 der Runde bringt einen Punkt, ein Unentschieden 0 Punkte.
* Die Punkte jeder Runde werden addiert.
* Am Ende wird der Gesamtpunktestand ausgegeben.
Eine beispielhafte Session mit dem Programm sieht dann wie folgt aus:
```console
Runde 1: Dein Zug ([r]rock, [p]aper, [s]cissors)? r
Der Computer hat gewonnen - Du: ROCK, Computer: PAPER - [0:1]
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)
```
Verwenden Sie intern Integer-Konstanten, um die Züge zu repräsentieren.
Daten von der Konsole lesen Sie am einfachsten mit der Klasse [java.util.Scanner](https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/util/Scanner.html).
Für Zufallszahlen können Sie die Klasse [java.util.Random](https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/util/Random.html) benutzen.
## Abgabe
Alle Abgaben für die Vorlesung erfolgen über `git`.
Hierzu gehen Sie wie folgt vor:
1. Öffnen Sie eine Kommandozeile (Terminal).
2. Gehen Sie in Ihr Working Directory.
3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren.
4. Wenn Sie Meldung "✅ Projekt gebaut" bekommen, checken Sie Ihre Änderungen in `git` **auf der Kommandozeile** ein (comitten), d.h. mit `git add` und `git commit`. Verwenden Sie **nicht** Eclipse für diesen Schritt.
5. Rufen Sie mit `bin/submit.sh` erneut das Skript auf. Wenn alles klappt, bekommen Sie die Anzeige "✅ Aktuelle Lösungen eingereicht" und Ihre Lösung ist im System angekommen.

View File

@ -163,10 +163,11 @@ Hinweise zur nötigen Softwareausstattung finden Sie [hier](help/softwareausstat
Wichtige Einstellungen für Eclipse sind [hier](help/eclipse.md) beschrieben. Wichtige Einstellungen für Eclipse sind [hier](help/eclipse.md) beschrieben.
| # | Ausgabe | Thema | Fällig am 📆 | | # | Ausgabe | Thema | Fällig am 📆 |
|-----|------------|-------------------------------------------------|----------------| |-----|------------|---------------------------------------------------------------------|----------------|
| 1. | 23.09.2025 | [Umgebung aufsetzen](Assignment_001/readme.md) | **01.10.2025** | | 1. | 23.09.2025 | [Umgebung aufsetzen](Assignment_001/readme.md) | **01.10.2025** |
| 2. | 23.09.2025 | [Erster Commit](Assignment_002/readme.md) | **01.10.2025** | | 2. | 23.09.2025 | [Erster Commit](Assignment_002/readme.md) | **01.10.2025** |
| 3. | 01.10.2025 | [Stein, Papier, Schere (, Echse, Spock)](Assignment_003/readme.md) | **07.10.2025** |
## 😀 Freiwillige Übungen ## 😀 Freiwillige Übungen
Die freiwilligen Übungen zur Vertiefung der Vorlesungsinhalte finden Sie in einem getrennten Repository: [Freiwillige Übungen](/pr2-lecture/uebungen/src/branch/master/readme.md). Die freiwilligen Übungen zur Vertiefung der Vorlesungsinhalte finden Sie in einem getrennten Repository: [Freiwillige Übungen](/pr2-lecture/uebungen/src/branch/master/readme.md).

View File

@ -0,0 +1,9 @@
package pr2.auffrischung.schnick;
/**
* Schick - Schnack - Schnuck (Rock - Paper - Scissors).
*/
public class SchnickSchnackSchnuck {
}