5.4 Nim-Spiel
Zum Abschluss des Themenbereichs »Programmieren mit Python« kann das »Nim-Spiel« als kleines Projekt erstellt werden.
Die Spielregeln des Nim-Spiels
Der Computer ermittelt per Zufall eine ganze Zahl ≥ 15 und ≤ 50, die die Anzahl der zu Beginn im Spiel befindlichen Hölzchen angibt.
Des Weitern ermittelt der Computer per Zufall, ob der Spieler oder der Computer zu spielen beginnt.
In jedem Spielzug nimmt der Spieler jeweils 1, 2 oder 3 Hölzchen weg.
Ebenso nimmt der Computer in jedem Spielzug 1, 2 oder 3 Hölzchen weg.
Ist nur noch ein Hölzchen im Spiel, muss das Hölzchen in dem Spielzug weggenommen werden.
Der Computer wertet den Spielverlauf aus.
- Wer das letzte Hölzchen nimmt, hat das Spiel verloren.
- Der Gewinner wird ausgegeben und das Spiel beendet.
Zwei mögliche Spielverläufe
| Der Spieler gewinnt | Der Computer gewinnt |
|---|---|
|
21 Hölzchen sind im Spiel. 2 Hölzchen nimmt der Computer. 19 Hölzchen sind im Spiel. Der Spieler nimmt 3 Hölzchen. 16 Hölzchen sind im Spiel. 1 Hölzchen nimmt der Computer. 15 Hölzchen sind im Spiel. Der Spieler nimmt 2 Hölzchen. 13 Hölzchen sind im Spiel. 1 Hölzchen nimmt der Computer. 12 Hölzchen sind im Spiel. Der Spieler nimmt 2 Hölzchen. 10 Hölzchen sind im Spiel. 3 Hölzchen nimmt der Computer. 7 Hölzchen sind im Spiel. Der Spieler nimmt 3 Hölzchen. 4 Hölzchen sind im Spiel. 2 Hölzchen nimmt der Computer. 2 Hölzchen sind im Spiel. Der Spieler nimmt 1 Hölzchen. Der Computer muss das letzte Hölzchen nehmen. Der Spieler hat gewonnen. |
15 Hölzchen sind im Spiel. 3 Hölzchen nimmt der Computer. 12 Hölzchen sind im Spiel. Der Spieler nimmt 3 Hölzchen. 9 Hölzchen sind im Spiel. 3 Hölzchen nimmt der Computer. 6 Hölzchen sind im Spiel. Der Spieler nimmt 3 Hölzchen. 3 Hölzchen sind im Spiel. 2 Hölzchen nimmt der Computer. Der Spieler muss das letzte Hölzchen nehmen. Der Computer hat gewonnen. |
Programm »nim.py«
Das Nim-Spiel soll in einem Programm »nim.py« implementiert werden.
Aufgabe A84
Ein realer Spieler und der Computer spielen am Computer das Nim-Spiel, wobei das Spiel »fair« ablaufen muss:
-
Nach jeder Eingabe des Spielers wird geprüft, ob der Spieler korrekt entweder eine 1, 2 oder 3 eingegeben hat.
Wenn nicht, muss der Spieler die Eingabe wiederholen. -
Das Nim-Spiel ist so zu prgrammieren, dass auch der Computer die Möglichkeit hat, das Spiel zu gewinnen. - Auf Wunsch des Spielers – egal wer gewonnen hat – kann das Spiel wiederholt werden.
Das »Nim-Spiel« soll im Programm »nim.py« implementiert werden.
- Zudem soll das Programm getestet werden, ob ein fehlerfreies Spielen möglich ist.
- Eventuell könnte das Programm auch noch durch die grafische Darstellung der Hölzchen untersetzen werden.
Führe das Programm aus und teste, ob es fehlerfrei läuft und den gestellten Anforderungen entspricht.