=== 1. Unterschiede Python-Online-Editor vs. Tigerjython/Tigerjython-Online === Man muss etwas aufpassen, weil man in im Python-Online-Editor nicht alle Befehle zur Verfügung hat, die man in der lokalen Version von Tigerjython oder im Tigerjython-Online verwenden kann. Umgekehrt sind im Python-Online-Editor einige neue Befehle hinzugekommen. In der Turtle-Dokumentation von Pythononline sind die neuen Befehle mit einem Stern markiert (siehe [[http://www.pythononline.ch/turtle.php?inhalt_links=turtle/navigation.inc.php&inhalt_mitte=turtle/turtledoc.html#|hier]]). Dafür hat die Version "Tigerjython" zusätzliche Befehle, die in Pythononline nicht verfügbar sind (siehe [[http://example.com|hier]]). Wie z.B. ''makeColor''. Ich werde im Folgenden Pythononline verwenden. === 2. Maus-Events registrieren === Maus-Ereignisse kann man direkt beim Befehl ''makeTurtle'' registieren. So sagt man dem Programm mit dem Befehl ''makeTurtle(mouseHit = onMouseHit)'', dass die Funktion ''onMouseHit'' aufgerufen werden soll, sobald die Maustaste gedrückt wird. Diese Funktion muss man selber schreiben und sie nimmt zwei Argumente, die x- und die y-Position der Stelle, an der man geklickt hat: from gturtle import * from random import randint def dieMausWurdeGedrueckt(x,y): msgDlg("Jupp, es wurde gedrückt!") makeTurtle(mouseHit=dieMausWurdeGedrueckt) === 3. Tastatur-Events registrieren === Wenn man Tastatur-Ereignisse abfangen will, so ist die Methode bei Python-Online und bei Tigerjython (online oder lokal) etwas unterschiedlich. == a) Bei Pythononline == Bei Python-Online gibt man die Tastaturbefehle ausserhalb von ''makeTurtle'' an: from gturtle import * def enterPressed(): msgDlg("Enter wurde gedrückt"=) makeTurtle() setPenColor("blue") registerKey('enter', enterPressed) == b) Bei Tigerjython (online oder lokal) == Hier gibt man die Tastatur-Ereignisse wie die Maus-Ereignisse ein, d.h. direkt bei ''makeTurtle'': from gturtle import * LEFT = 37 RIGHT = 39 UP = 38 DOWN = 40 def onKeyPressed(key): if key == LEFT: setHeading(-90) elif key == RIGHT: setHeading(90) elif key == UP: setHeading(0) elif key == DOWN: setHeading(180) makeTurtle(keyPressed = onKeyPressed) wrap() while True: forward(10) === Aufgabe === Schreibe ein Programm, welches bei einem Mausklick einen Kreis mit zufälliger Grösse und einer zufälligen Farbe an der geklickten Stelle zeichnet. Wenn man die Enter-Taste drückt, soll das Bild gelöscht werden.