Title: miniworlds: Eigene Actor-Klasse

Bisher hast du miniworlds-Objekte direkt aus vorhandenen Klassen erzeugt:

spieler = miniworlds.Actor((80, 150))
muenze = miniworlds.Circle((300, 150), 20)

Du kannst aber auch eigene Klassen schreiben, die von miniworlds-Klassen
erben. Dann legst du selbst fest, wie deine Spielfigur beim Start aussieht
und welche Fähigkeiten sie hat.

import miniworlds

world = miniworlds.World(460, 300)

class Spieler(miniworlds.Actor):
def on_setup(self):
self.speed = 12

def on_key_down_right(self):
self.x = self.x + self.speed

def on_key_down_left(self):
self.x = self.x - self.speed

def on_key_down_up(self):
self.y = self.y - self.speed

def on_key_down_down(self):
self.y = self.y + self.speed

world.run()

`class Spieler(miniworlds.Actor):` bedeutet:

Die Klasse `Spieler` übernimmt die Grundfunktionen von `miniworlds.Actor`.
Zusätzlich bekommt sie eigene Methoden für Startzustand und Steuerung.

### Warum ist das besser als viele Register-Funktionen?

Bei einem einzelnen Objekt funktionieren beide Varianten. Bei größeren
Programmen ist eine eigene Klasse übersichtlicher:

- alle Regeln der Spielfigur stehen an einer Stelle
- neue Spieler-Objekte bekommen automatisch dieselbe Steuerung
- Attribute wie `speed` gehören direkt zur Figur

### Zwei Spieler aus derselben Klasse

import miniworlds

world = miniworlds.World(460, 300)

class Spieler(miniworlds.Actor):
def on_setup(self):
self.speed = 10

def on_key_down_right(self):
self.x = self.x + self.speed

def on_key_down_left(self):
self.x = self.x - self.speed

spieler2.speed = 18

world.run()

Beide Objekte entstehen aus derselben Klasse. Trotzdem kann jedes Objekt
eigene Attributwerte haben.

### Aufgabe

Erweitere das erste Beispiel:

- Füge eine Methode `on_key_down_space(self)` hinzu
- Ändere darin die Farbe der Figur
- Erhöhe oder verringere `self.speed`, wenn die Leertaste gedrückt wird