Hinweis: Achte bei den Dateinamen auf Groß- und Kleinschreibung.

Aufgabe 1: Roulette

Erstelle ein Programm, das ein vereinfachtes Roulette als Konsolenprogramm simuliert.

res/500px-European_roulette_wheel.svg.png

(CC BY-SA 3.0 File:European roulette wheel.svg, von Betzaar, wikipedia.org)

Insgesamt sind auf dem Kessel 37 Zahlen: 0 bis 36.

Aufgabe 1a

Arbeite in der Datei roulette1a.py.

  1. Der Benutzer wird nach seinem Namen gefragt.

  2. Der Benutzer wird gefragt, ob er wirklich Roulette spielen möchte; wenn nicht, dann wird er höflich verabschiedet.

  3. Der Benutzer wird gefragt, auf welche Zahl oder Zahlenbereich er setzen möchte:

    1. "Rot oder Schwarz": Wenn man richtig liegt, wird der Einsatz wird verdoppelt.

    2. "Gerade oder ungerade": Wenn man richtig liegt, wird der Einsatz wird verdoppelt.

    3. "Plein", d. h. es wird auf eine der 37 Zahlen gesetzt: Wenn man richtig liegt, wird der Einsatz ver-36-facht.

  4. Der Benutzer wird gefragt, wieviel Geldeinheiten er setzen möchte.

  5. Das Rad wird gedreht, also eine Zufallszahl ermittelt.

  6. Das Ergebnis des Laufs wird ausgegeben und dem Benutzer mitgeteilt, ob und wieviel er gewonnen hat.

  7. Ende des Programms.

Aufgabe 1b

Kopiere das Programm aus der vorigen Aufgabe in eine neue Datei: roulette1b.py.

Erweitere das Programm so, dass das Programm erst endet, wenn der Benutzer nicht mehr weiterspielen möchte. Außerdem sollen alle ungültigen Benutzereingaben nicht akzeptiert werden.

Aufgabe 1c

Kopiere das Programm aus der vorigen Aufgabe in eine neue Datei: roulette1c.py.

Das Programm soll sich merken wieviel der Benutzer eingesetzt hat und wieviel er gewonnen hat.

Wenn der Benutzer mit mehr als 1000 Einheiten im Minus ist, dann soll das Programm einen Hinweis ausgeben, ob er schon die günstigen Kreditkondition der Spielbank kennt.

Bei mehr als 2000 Einheiten im Minus, soll das Programm vorschlagen, einen Arzt aufzusuchen, der ihm hilft sich von der Spielsucht zu befreien.

Aufgabe 2: Text-Graphik

Zeige dem Benutzer auf der Konsole wie die Roulettezahlen angeordnet sind, damit er sich ein Bild davon machen kann, auf was er da eigentlich sein Geld setzt.

Gehe dabei schrittweise vor.

Aufgabe 2a

Mache dich mit dem curses-Modul vertraut, indem du die Beispiele im Arbeitsblatt curses-Modul durcharbeitest.

Aufgabe 2b

Erstelle ein neues Pythonprogramm in der Datei roulette2-kessel.py, um damit die Zahlen des Rouletterades im Kreis angeordnet anzuzeigen.

Schaue dir dazu die Parameterdarstellung des Kreises an:

res/wikipedia-kreis-param.png

und überlege wie man damit und mit Hilfe von curses Zeichen in einem Kreis anordnen kann.

Hinweise:

  • Die passenden mathematischen Funktionen (cos, sin etc.) findest du in der Python-Referenz.

  • Falls du mit den trigonometrischen Funktionen (sin, cos etc.) noch nichts anfangen kannst, dann schaue dir KmPlot an.

  • Vergegenwärtige dir den Begriff der Funktion (x → y) (im Hinblick auf das Zeichnen eines Kreises im Koordinationsystem)

Aufgabe 2c

Stelle sicher, dass die Roulettezahlen in der korrekten Reihenfolge (siehe Bild ganz oben) und Färbung angezeigt werden.

Aufgabe 2d

Erstelle ein neues Programm in der Datei roulett2.py und führe das Programm aus Aufgabe 1 (roulette1c.py) mit der Anzeigelogik in roulette2-kessel.py zusammen. Dazu müssen alle Ein- und Ausgaben mit curses umgesetzt werden. Zeige den Kessel z. B. oben rechts an und die Benutzer-Interaktionen links.

Hinweise