from gturtle import *
from java.awt.event import KeyAdapter, KeyEvent
makeTurtle()
hideTurtle()
# Linie
setPenColor("black")
setPenWidth(10)
oben = False
unten = False
links = False
rechts = False
stift_an = True
# Rand
RAND_X = 390
RAND_Y = 290
# Geschwindigkeit
GESCHWINDIGKEIT = 2
class Tastatur(KeyAdapter):
def keyPressed(self, event):
global oben, unten, links, rechts, stift_an
taste = event.getKeyCode()
if taste == KeyEvent.VK_UP:
oben = True
elif taste == KeyEvent.VK_DOWN:
unten = True
elif taste == KeyEvent.VK_LEFT:
links = True
elif taste == KeyEvent.VK_RIGHT:
rechts = True
# SPACE = Stift an/aus
elif taste == KeyEvent.VK_SPACE:
stift_an = not stift_an
if stift_an:
penDown()
else:
penUp()
def keyReleased(self, event):
global oben, unten, links, rechts
taste = event.getKeyCode()
if taste == KeyEvent.VK_UP:
oben = False
elif taste == KeyEvent.VK_DOWN:
unten = False
elif taste == KeyEvent.VK_LEFT:
links = False
elif taste == KeyEvent.VK_RIGHT:
rechts = False
listener = Tastatur()
getPlayground().addKeyListener(listener)
getPlayground().setFocusable(True)
getPlayground().requestFocus()
# Startposition
setPos(0, 0)
setHeading(0)
# Kleiner Pfeil an der Startposition
penUp()
setPenColor("red")
setPenWidth(3)
forward(15)
left(150)
forward(8)
back(8)
right(300)
forward(8)
back(8)
# Zurück zur Startposition
setPos(0, 0)
setHeading(0)
setPenColor("black")
setPenWidth(10)
if stift_an:
penDown()
def bewegen():
while True:
x = getX()
y = getY()
# UP = oben
if oben and y < RAND_Y:
setHeading(0)
forward(GESCHWINDIGKEIT)
# DOWN = unten
if unten and y > -RAND_Y:
setHeading(180)
forward(GESCHWINDIGKEIT)
# LEFT = links
if links and x > -RAND_X:
setHeading(270)
forward(GESCHWINDIGKEIT)
# RIGHT = rechts
if rechts and x < RAND_X:
setHeading(90)
forward(GESCHWINDIGKEIT)
delay(10)
bewegen()45 views