====== Tasten auslesen ======
Wir werden hier eine eigene Bibliothek ''ivobuttons'' verwenden.
Laden Sie folgendes Programm auf die OxoCard und drücken Sie einzelne Tasten und dann mehrere Tasten auf einmal. Werden dabei die beiden unten links gedrückt, wird auf jeden Fall die OxoCard neu gestartet.
from oxocard import *
from ivobuttons import *
ivobuttons.delay=0 # Tasten sofort repetieren
ivobuttons.repeat_delay=0 # Tasten ohne Unterbruch repetieren
while True:
s = ivobuttons.states() # Zustand der Tasten auslesen
display(str(s), GREEN) # Auf dem Display anzeigen
if s==24: # Beide Knöpfe links (16+8) -> Programmende
break
display("OK", RED)
Beachten Sie, dass diese Programm nicht ohne Weiteres im Simulationsmodus läuft. Dazu müssen Sie erst noch die Datei {{ :lehrkraefte:blc:informatik:glf19:oxocard:ivobuttons.py |}} (Rechtsklick, speichern unter...) im gleichen Ordner wie ihr Programm speichern.
Testen Sie folgendes Programm auf der OxoCard (drücken Sie dazu beliebige Kombinationen der rechten Tasten):
from oxocard import *
from ivobuttons import *
ivobuttons.delay=0 # Tasten sofort repetieren
ivobuttons.repeat_delay=0 # Tasten ohne Unterbruch repetieren
while True:
r,g,b = 0,0,0
s = ivobuttons.states()
if s & IVO_R1:
r = 255
if s & IVO_R2:
g = 255
if s & IVO_R3:
b = 255
# Schnell zeichnen
for x in range(2,6):
for y in range(2,6):
fastDot(x,y,(r,g,b)) # Zeigt noch nichts an
fastRepaint() # Das gezeichnete anzeigen
* Was passiert genau beim "Schnell zeichnen"?
* Setzen Sie die Variablen ''ivobuttons.delay'' und ''ivobuttons.repeat_delay'' auf 800 und 300 und testen Sie das Programm noch einmal. Die Zahlen sind in Millisekunden.
* Schauen Sie sich das [[https://fginfo.ksbg.ch/dokuwiki/doku.php?id=lehrkraefte:blc:informatik:glf20:ivobuttons#interface|Interface der ivobuttons-Bibliothek]] an.
Fahren Sie weiter mit [[lehrkraefte:blc:informatik:glf20:gameloop|dem Game-Loop]].