Ein kleines Spiel:
Hinweis: Beginnen Sie mit einer Basisversion, also einer Turtle mit shape("circle"), die sich irgendwie bewegt und einem Screen().onclick()-Ereignis, dessen Callback-Funktion ausrechnet, wie weit der Klick vom Zentrum der Turtle entfernt ist. Fügen Sie dann weitere Details hinzu, bspw. wie die Rückmeldung (getroffen oder nicht) per Hintergrundfarbe oder einen Score, der sich entsprechend anpasst – und ggf. die Schwierigkeit des Spiels schrittweise erhöht.
Hinweis: Die Musterlösung zeigt die Umsetzung einer erweiterten Basisversion des Spiels, in die man weitere Features einbauen könnte (s. Kommentare)
from turtle import *
from random import *
def clickHandler(x,y):
#print(distance(x,y))
if distance(x,y) > 10:
Screen().bgcolor("red")
else:
Screen().bgcolor("green")
global score
score += 1
nextLevel()
print("Score: " + str(score))
def nextLevel():
print("next level")
#schreiben Sie hier Code, mit dem die Schwierigkeit des Spiels graduell gesteigert wird
#z.B. indem der Punkt sich schneller, weiter oder weniger vorhersagbar bewegt
#auch eine Grössenänderung des Punkts wäre geeignet, aber das ist in einem Trinket sehr schwer umzusetzen
def isoutside():
#schreiben Sie hier Code, der True nur dann zurückgibt, wenn der Punkt ausserhalb der Zeichnungsfläche ist (andernfalls soll False zurückgegeben werden)
return False
shape("circle")
penup()
gamespeed = 2
step = 2
angle = 20
score = 0
speed(gamespeed)
Screen().onclick(clickHandler)
print("Click on the dot")
print("Game starts after the first click")
while True:
Screen().bgcolor("white")
left(randint(-angle,angle))
forward(step)
if isoutside():
goto(randint(-worldsize,worldsize),randint(-worldsize,worldsize))
- Verwenden Sie eine andere Bewegungsart für den Punkt – bspw. könnte er sich aktiv vom Mauscursor wegbewegen (Tipp: Befehl towards() nutzen).
- Sorgen Sie dafür, dass alle relevanten Informationen auf das Spielfeld geschrieben werden (mit write()) anstatt in die Konsole (mit print())
- Denken Sie sich weitere Änderungen aus ...
Aufgabe: Programmieren sie diese Figur im
Online-Editor