Tlačítka s Pythonem
Jak pracovat s tlačítky v Pythonu?
button_a.is_pressed() Je právě teď tlačítko A zmáčknuto? (True/False)
button_a.was_pressed() Bylo tlačítko A zmáčknuto od spuštění programu / od posledního dotazu? (True/False)
button_a.get_presses() Kolikrát bylo tlačítko A zmáčknuto od spuštění programu? (číslo)
button_a.reset_presses() Nastaví počet zmáčknutí tlačítka A na nulu.
Analogicky pro button_b.
Příklad na is_pressed()
Při stisku tlačítka A zobrazuje A, při stisku B zobrazuje B.
from microbit import *
while True:
if button_a.is_pressed():
display.show("A")
elif button_b.is_pressed():
display.show("B")
else:
display.clear()
while True:
if button_a.is_pressed():
display.show("A")
elif button_b.is_pressed():
display.show("B")
else:
display.clear()
Příklad na was_pressed()
Zobrazí A i pokud bylo tlačítko zmáčknuto během spánku.
from microbit import *
while True:
if button_a.was_pressed():
display.scroll("A")
else:
display.scroll(Image.ASLEEP)
sleep(1000)
while True:
if button_a.was_pressed():
display.scroll("A")
else:
display.scroll(Image.ASLEEP)
sleep(1000)
Příklad na get_pressed()
Ukazuje počet stisknutí tlačítka A. Výsledné číslo přetypujeme na str.
from microbit import *
while True:
sleep(3000)
display.scroll(str(button_a.get_presses()))
while True:
sleep(3000)
display.scroll(str(button_a.get_presses()))
Stisknutí obou tlačítek současně
Pokud bychom zcela intuitivně použili
if button_a.is_pressed() and button_b.is_pressed():
zjistíme, že je velmi obtížné se trefit do obou tlačítek současně. Použijeme tedy raději
if button_a.was_pressed() and button_b.was_pressed():
narazíme na to, že po ověření, zda byla tlačítka stisknuta, již znovu zavolané button_a.was_pressed()vrátí False.
Řešením je nejprve stav tlačítek uložit do proměnných a pak se teprve ptát:
Řešením je nejprve stav tlačítek uložit do proměnných a pak se teprve ptát:
from microbit import *
while True:
sleep(50) # abychom stihli tlačítka stisknout
a = button_a.was_pressed()
b = button_b.was_pressed()
if a and b:
display.scroll("AB")
elif a:
display.show("A")
elif b:
display.show("B")
while True:
sleep(50) # abychom stihli tlačítka stisknout
a = button_a.was_pressed()
b = button_b.was_pressed()
if a and b:
display.scroll("AB")
elif a:
display.show("A")
elif b:
display.show("B")
Příklady
HOD KOSTKOU: Při stisku A zobraz náhodné číslo od 1 do 6.
POČÍTADLO: Při startu zobraz 0, při stisku A sniž číslo, při stisku B zvyš číslo.
Varianta násobilka = zvyšuj a snižuj o jinou hodnotu než 1.
POČÍTADLO BODŮ PRO DVA HRÁČE: Při stisku A přidávej body hráči A, při stisku B přidávej body hráči B. Při stisku A+B body zobraz.
<<< Začínáme s Pythonem
>>> Kreslení s Pythonem (cyklus FOR)
>>> Nápisy v Pythonu (posílání zpráv)