Status: Spielstand/Spielende/Levels#

Status/Punktestand#

  • Oft willst du den aktuellen Punktestand oder ähnliches anzeigen.

Hierfür bietet dir der miniworlds spezielle Actors an, z.B. Text oder Number-Actors.

Einen Text erstellen#

Einen Text kannst du so erstellen:

text = miniworlds.Text(position, string)
  • position ist ein Tupel mit der oberen Linken Ecke des Textes

  • string ist ein Text, der angzeigt wird.

Auf einem Pixelworld wird ein Text automatisch skaliert. Auf einem Tiledworld wird dieser komplett innerhalb einer Kachel angezeigt (und ist damit bei längeren Texten vermutlich zu klein)

Beispiel:#

import miniworlds 

world = miniworlds.World(400,400)
hallo_welt = Text((100,100), "Hallo Welt!")

world.run()
Texts

Einen Text verändern#

Mit dem Attribut text kannst du den Text jederzeit verändern.

Das folgende Programm zeigt immer den zuletzt gedrückten Button an:

from miniworlds import *

world = miniworlds.World(400,400)
key = Text((100,100), "")

@key.register
def on_key_down(self, key):
    print(key)
    self.text = key[0]

world.run()
Texts and Events

Zahlen#

Zahlen kannst du mit Number-Actors auf den Bildschirm anzeigen.

Dies funktionier sehr ähnlich wie bei Texten. Das folgende Programm erhöht z.B. jedesmal wenn eine Taste gedrückt wird die angezeigt Zahl um 1:

from miniworlds import *

world = miniworlds.World(400,400)
show_number = Number((100,100), 1)

@show_number.register
def on_key_down(self, key):
    n = self.get_number()
    self.set_number(n + 1)

world.run()

Spielende / Levelwechsel#

Zum Spielende/Levelwechsel sind folgendes typische Aktionen:

  • Das Spielfeld löschen

  • Das Spielfeld anhalten.

Dafür gibt es folgende Befehle:

  • world.stop(): Stoppt das Spielfeld. Es werden keine Aktionen mehr ausgeführt und keine Events abgefragt.

  • world.start(): Dies hebt einen Stop-Befehl auf.

  • world.is_running: Mit dieser Variable kannst du den Status des Spielfelds abfragen.

  • world.clear(): Die Funktion entfernt alle Figuren vom Spielfeld.

  • world.reset(): Die Funktion löscht das aktuelle Spielfeld und erstellt ein neues Spielfeld mit allen Figuren so wie sie in world.on_setup() erzeugt wurden.