from random import randint WIDTH = 800 HEIGHT = 800 dots = [] lines = [] next_dot = 0 # In der Schleife werden 10 Punkte mit zufälliger Position erzeugt und zur Liste dots hinzugefügt for dot in range(0, 10): actor = Actor("dot.png") actor.pos = randint(20, WIDTH-20), randint(20, HEIGHT-20) dots.append(actor) def draw(): # Der Hintergrund wird schwarz gezeichnet screen.fill("black") number = 1 # Die Punkte werden gezeichnet und beschriftet for dot in dots: screen.draw.text(str(number), (dot.pos[0], dot.pos[1] + 12)) dot.draw() number += 1 # Die Linien werden gezeichnet. Da es erst Linien in der Liste lines gibt, wenn man mit der Maus auf die Punkte klickt, wird am anfang noch nichts gezeichnet. for line in lines: screen.draw.line(line[0], line[1], (180, 199, 220)) def on_mouse_down(pos): global next_dot global lines # Hier wird geprüft, ob die Punkte in der richtigen Reihenfolge angeklickt werden. # Wenn das nicht der Fall ist, wird die Linienliste geleert und man muss von vorn beginnen. if dots[next_dot].collidepoint(pos): if next_dot: lines.append((dots[next_dot - 1].pos, dots[next_dot].pos)) next_dot = next_dot + 1 else: lines = [] next_dot = 0