Das laufende O ist ein kleines Spiel auf der Console, in welchem ein O mit den Tasten
W, A, S und D bewegt wird.
Um dies zu realisieren verwenden wir ein paar Funktionen aus der Bibliothek WConio2, diese
kann hier heruntergeladen werden.
Die Projektseite der Bibliothek ist von GitHub
Um die Bibliothek einzubinden, wird sie im gleichen Verzeichnis
wie das Python-Programm gespeichert. Alternativ kann man sie über PIP installieren.
In die ersten Zeile des Python-Programms schreibt man: from WConio2 import *
Ausgaben positionieren
Mit gotoxy(x,y) aus der Bibliothek positioniert man den Cursor an (x,y).
Das heißt, dass ein print danach die Ausgabe an dieser Position beginnt.
In Thonny muss man das Programm mit STRG+T oder
im Menü Ausführen mit "aktuelles Skript in Terminal ausführen" ausführen.
from WConio2 import *
gotoxy(3,4)
print("Hallo")
gotoxy(1,3)
print("oben")
gotoxy(3,5)
print("unten")
Als Ausgabe erhlt man:
oben
Hallo
unten
Tastendrücke einlesen
Um den Spieler zu steuern müssen Tastendrücke eingelesen werden, ohne sie auf dem Bildschirm anzuzeigen.
In der Bibliothek gibt es hierfür die Funktion: getkey()
Diese liefert die gedrückte Taste als Text zurück,
welche man sich in einer Variablen speichern sollte: key = getkey().
Bewegung
Um jetzt ein Zeichen über den Bildschirm bewegen zu können gehen wir wie folgt vor:
Zuerst legen wir die Variablen x und y mit dem Startwert 5 an. Diese stellen die Position unseres Spielers
dar.
Wir zeichnen ein O an die Position (x,y)
Wir warten auf einen Tastendruck
Wir überschreiben das O mit einem Leerzeichen
abhängig von der gedrückten Taste verändern wir x bzw. y
Wir beginnen beim ersten Punkt.
In Python sieht das so aus:
from WConio2 import *
x=5
y=5
while True:
gotoxy(x,y)
print("O")
c = getkey()
gotoxy(x,y)
print(" ")
if c=='d': x=x+1
if c=='a': x=x-1
if c=='s': y=y+1
if c=='w': y=y-1
if c=='x': break
Wenn man dieses Programm in Thonny mit STRG+T ausführt kann man das O mit den Tasten
W, A, S und D über den Bildschirm bewegen.
Wer lieber mit Cursor-Tasten steuert, kann dies mit WConio2 auch machen.
Der Python-Code ändert sich dabei nur in den if-Anweisungen:
from WConio2 import *
x=5
y=5
while True:
gotoxy(x,y)
print("O")
c = getkey()
gotoxy(x,y)
print(" ")
if c=='up': y=y-1
if c=='down': y=y+1
if c=='left': x-=1
if c=='right':x+=1
if c=='x': break
Wenn man dieses Programm in Thonny mit STRG+T ausführt kann man das O mit den Tasten
↑, ←, ↓ und → über den Bildschirm bewegen.