# -*- coding: utf-8 -*- # Python für Kids (4. Auflage) - Kapitel 13 # Ereignisgesteuerte Programme # Autor: Gregor Lingl # Datum 16. 8. 2009 # scribble - ein einfaches Zeichenprogramm # (1) Stift zeichnet eine Linie zur (links) angeklickten Stelle # (2) Stift springt (ohne Zeichnen) zur mit mittlerer Taste # angeklickten Stelle # (3) Stift kritzelt, wenn er gezogen wird # (4) rechte Maustaste schaltet füllen ein und aus # (5) undo() - Funktion des Stiftes an BackSpace-Taste binden # clear() - Funktion des Stiftes an die Leertaste binden # (6) Strichdicken 1..9 an Tasten "1" .. "9" binden from turtle import * import sys sys.setrecursionlimit(20000) def jump(x, y): stift.penup() stift.goto(x, y) stift.pendown() def fuellenumschalten(xdummy, ydummy): if stift.fill(): stift.end_fill() stift.fillcolor("") else: stift.begin_fill() stift.fillcolor("black") # fuellanzeiger.fillcolor()) clear() stift = Turtle() stift.speed(0) stift.shape("circle") stift.shapesize(0.4, 0.4, 3) stift.pensize(3) onscreenclick(stift.goto) onscreenclick(jump, 2) onscreenclick(fuellenumschalten, 3) stift.ondrag(stift.goto) onkey(stift.undo, "BackSpace") onkey(stift.clear, "space") for c in "123456789": def setpensize(ps=int(c)): stift.pensize(ps) stift.shapesize(0.2 + ps/10) onkey(setpensize, c) listen() mainloop()