"""
Ein einfaches Auto fährt nach rechts.
Es wird mit den Pfeiltasten links und rechts gesteuert.
"""
# Breite des Fensters (als Variable, da an mehreren Stellen benötigt)
WINDOW_WIDTH = 400
class Auto():
""" Repräsentiert ein Auto"""
# Construtor
def __init__(self, pos_x, pos_y, speed = 0):
self.pos_x = pos_x
self.pos_y = pos_y
self.width = 100
self.height = 70
# Private, kann nur durch Methoden accelerate und brake geändert werden
self.__speed = speed
def draw(self):
""" Zeichent das Auto auf die Zeichenfläche """
rect(self.pos_x, self.pos_y, self.width, self.height)
def move(self):
""" Auto bewegt sich in X-Richtung (nach rechts) """
self.pos_x += self.__speed
# Wenn aus dem Bild nach links versetzen
if self.pos_x > WINDOW_WIDTH:
self.pos_x = self.width * -1
def accelerate(self):
""" Beschleunigung """
self.__speed += 0.1
def brake(self):
""" bremsen """
speed_change = 0.1
# wenn die neue Geschwindigkeit nicht negativ ist
if self.__speed - speed_change >= 0:
self.__speed -= speed_change
auto = Auto(0, 100, 0.5)
def setup():
createCanvas(WINDOW_WIDTH, 200)
def draw():
background(200)
auto.draw()
auto.move()
# Reaktion auf Nutzereingaben
if keyIsDown(RIGHT_ARROW):
auto.accelerate()
elif keyIsDown(LEFT_ARROW):
auto.brake()