Hauptmenü:
pr aaa
cs vi
setze "fallen "ein
setze "drehen "ein
setze "pfeilwinkel 70
mouseon [setze "fallen "aus][setze "drehen "aus][][][]
; Hier wurde die Maus programmiert:
; Die Variable fallen bleibt solange auf "ein stehen, bis man die linke Maustaste drückt.
; Die Variable drehen bleibt solange auf "ein stehen, bis man die linke Maustaste wieder loslässt
; Diese beiden Variablen steuern die While-Schleifen in pfeil.fällt und pfeil.dreht
zielscheibe.zeigen
aufxy -400 200 ; auf den Startpunkt des Pfeils bringen
ak :pfeilwinkel ; den Startwinkel einstellen
pfeil.zeigen ; den Pfeil einmal zeichnen
pfeil.fällt
pfeil.dreht
pfeil.fliegt
ende
pr pfeil.dreht
while [:drehen="ein][pfeil.löschen li 1 pfeil.zeigen warte 1]
; Solange die Variable drehen den Wert "ein hat, dreht sich der Pfeil um seine Spitze.
; Das bedeutet, dass die Drehung beim Loslassen der linken Maustaste beendet wird.
setze "fallen "ein ; die Variable wird für die nächste Benutzung wieder auf "ein gesetzt.
ende
pr pfeil.fliegt
while [(er ort) < 400][pfeil.löschen vw 1 pfeil.zeigen]
; Der Pfeil wird gelöscht und in Pfeilrichtung etwas weiter erneut gezeichnet.
; Wenn die Pfeilspitze den x-Wert der Zielscheiben erreicht hat, wird der Flug beendet
ende
pr pfeil.fällt
while [:fallen="ein][pfeil.löschen ak 180 vw 1 ak :pfeilwinkel pfeil.zeigen warte 1]
; Solange die Variable fallen den Wert "ein hat, fällt der Pfeil.
; Das bedeutet, dass der Fall bei einem Klick auf die linke Maustaste beendet wird.
setze "fallen "ein ; die Variable wird für die nächste Benutzung wieder auf "ein gesetzt.
ende
pr pfeil.löschen
radiere ; es wird gelöscht
sa circle 2 rw 30 vw 30 sh ; dieselbe Technik wie bei pfeil.zeigen
ende
pr pfeil.zeigen
normalstift ; es wird wirklich gezeichnet
sa circle 2 ; ich beginne mit der "Pfeilspitze", einem Kreis
rw 30 vw 30 sh ; die Turtle läuft 1 Pfeillänge zurück, dann wieder vor
; Auf diese Weise steht die Turtle am Ende wieder auf der Pfeilspitze. Das ist wichtig,
; wenn man später feststellen will, ob die Zielscheibe erreicht wurde.
ende
pr zielscheibe.zeigen
sh aufxy 400 100 sa ; die Zielscheibe soll rechts oben am Bildschirm erscheinen
wh 10 [circle 10*(11-whzahl) füllfarbe 10-whzahl fülle] ; die 10 Kreise werden gezeichnet
; Hier ist ein Trick zu sehen:
; Ich habe mit dem größten Kreis begonnen (Radius 100) und ihn mit Füllfarbe 9 gefüllt.
; Danach habe ich den zweitgrößten Kreis zeichnen lassen und ihn mit Füllfarbe 8 gefüllt usw.
; Der kleinste Kreis wurde schließlich mit Füllfarbe 0 gefüllt.
; Durch diese Reihenfolge konnte ich die Turtle bequem in der Mitte der Scheibe stehen lassen.
sh
ende