Update of exercises
parent
ec31d26529
commit
c9e6222d2c
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
|
@ -0,0 +1,59 @@
|
||||||
|
# Assignment: Stein, Papier, Schere (, Echse, Spock)
|
||||||
|
|
||||||
|
**🎓 Benotetes Assignment 🎓**
|
||||||
|
|
||||||
|
📆 **Fällig: 29.03.2023** 📆
|
||||||
|
|
||||||
|
## 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 (comitten) Sie Ihre Änderungen in `git` ein.
|
||||||
|
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.
|
|
@ -55,6 +55,7 @@ Die Bearbeitung der Aufgaben und das Erreichen einer hinreichend großen Zahl vo
|
||||||
Hinweise zur nötigen Softwareausstattung finden Sie [hier](help/softwareausstattung.md).
|
Hinweise zur nötigen Softwareausstattung finden Sie [hier](help/softwareausstattung.md).
|
||||||
|
|
||||||
| # | Ausgabe | Thema | Fällig am 📆 |
|
| # | Ausgabe | Thema | Fällig am 📆 |
|
||||||
|----|------------|-------------------------------------------------|----------------|
|
|----|------------|---------------------------------------------------------------------|----------------|
|
||||||
| 1. | 14.03.2023 | [Umgebung aufsetzen](Assignment_001/readme.md) | **26.03.2023** |
|
| 1. | 14.03.2023 | [Umgebung aufsetzen](Assignment_001/readme.md) | **26.03.2023** |
|
||||||
| 2. | 14.03.2023 | [Erster Commit](Assignment_002/readme.md) | **26.03.2023** |
|
| 2. | 14.03.2023 | [Erster Commit](Assignment_002/readme.md) | **26.03.2023** |
|
||||||
|
| 3. | 23.03.2023 | [Stein, Papier, Schere (, Echse, Spock)](Assignment_003/readme.md) | **29.03.2023** |
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
package pr2.auffrischung.schnick;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Schick - Schnack - Schnuck (Rock - Paper - Scissors).
|
||||||
|
*/
|
||||||
|
public class SchnickSchnackSchnuck {
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue