Per Konsoleneingabe mit der Turtle Minigolf spielen - so soll es funktionieren:
Zu beginn wird an eine zufällige Position ein schwarzer Punkt gezeichnet, dann startet die Turtle in der Mitte der Zeichnungsfläche, in eine zufällige Richtung gedreht. Jetzt werden vom Benutzer immer wieder zwei Zahlen erfragt: 1) um wie viel Grad sich die Turtle drehen und 2) wie viele Pixel sie sich nach vorne bewegen soll. Mit diesen beiden Angaben wird dann die Turtle entsprechend bewegt. Ist sie auf dem schwarzen Punkt gelandet, wurde das Spiel gewonnen, andernfalls werden erneut Drehung und Schrittlänge erfragt ...
from turtle import *
from random import *
Screen().bgcolor("white")
penup()
x = randint(-200,200)
y = randint(-200,200)
goto(x,y)
dot(20)
home()
left(randint(0,360))
pendown()
print("Versuche, die Turtle auf den schwarzen Punkt zu steuern.")
while True:
angle = int(input("Um wie viel Grad soll sich die Turtle nach links drehen?:"))
step = int(input("Um wie viele Pixel soll sich die Turtle bewegen?:"))
left(angle)
forward(step)
if distance(x,y) < 10:
print("Geschafft!")
break
else:
print("Nochmal:")
- Lassen Sie am Ende zusätzlich ausgeben, wie viele Eingaben ("Schläge") bis zum Erreichen des Loches nötig waren
- Können Sie einen automatischen Restart einbauen, so dass bei Erreichen eines Lochs gleich das nächste (andere Farbe?) angezeigt wird?
- Können Sie eine kontinuiertiche Steigerung der Schwierigkeit einbauen, bspw. indem jedes neue Loch etwas kleiner ist als das vorherige?
- Der Minigolf-Parcours soll aus 9 Löchern bestehen, nach Erreichen des letzten Lochs soll ein Gesamtscore angezeigt werden. Entwickeln sie eine motivierende Art, den Gesamtscore zu berechnen, bspw. indem sie neben der möglichst geringen Anzahl Schläge auch noch einberechnen, wie genau der Mittelpunkt des Lochs getroffen wurde oder wie schnell die Eingaben erfolgten...
- Gestalten Sie eine Art "GameOver"-Screen, auf dem der finale Score verständlich angezeigt wird (anstatt per print in der Konsole)
Aufgabe: Programmieren sie diese Figur im
Online-Editor