Nápisy v Pythonu
Skládání nápisů z písmen a posílání zpráv na druhý microbit.
Na začátku stačí pouze zopakovat práci s řetězcem a zbytek už nechat jako projekt. Zadání i řešení vymyslí žáci sami a může tedy vypadat zcela jinak.
Vylepšete tak, aby se po posledním znaku opět zobrazilo A a naopak. Např.:
Doplnit nastavení kanálu.
Možno přidat např. obrázek obálky před přijatou zprávou.
Při testování zjistíme, že kratší kódy jsou praktičtější a také že je dobré přidat číslice.
<<< Začínáme s Pythonem
<<< Kreslení s Pythonem
<<< Tlačítka s Pythonem
Na začátku stačí pouze zopakovat práci s řetězcem a zbytek už nechat jako projekt. Zadání i řešení vymyslí žáci sami a může tedy vypadat zcela jinak.
abeceda = "ACBDEFGHIJKLMNOPQRSTUVWXYZ .,!?"
display.show(abeceda[0])
1. Písmena
Při stisku tlačítek cyklicky měň zobrazené písmeno abecedy.
from microbit import *
abeceda = "ACBDEFGHIJKLMNOPQRSTUVWXYZ .,!?"
poradi = 0
display.show(abeceda[poradi])
while True:
sleep(50)
a = button_a.was_pressed()
b = button_b.was_pressed()
if a:
poradi-=1
display.show(abeceda[poradi])
elif b:
poradi+=1
display.show(abeceda[poradi])
Vylepšete tak, aby se po posledním znaku opět zobrazilo A a naopak. Např.:
if a: if poradi==0: poradi=len(abeceda) poradi-=1 display.show(abeceda[poradi]) elif b: poradi+=1 if poradi==len(abeceda): poradi=0 display.show(abeceda[poradi])
2. Nápisy
Při stisku A+B přidej písmeno k nápisu. Při zatřesení nápis zobraz.
...
napis = ""
while True:
sleep(50)
a = button_a.was_pressed()
b = button_b.was_pressed()
if a and b:
napis+=abeceda[poradi]
elif a:
...
elif b:
...
if accelerometer.was_gesture("shake"):
display.scroll(napis)
napis = ""
while True:
sleep(50)
a = button_a.was_pressed()
b = button_b.was_pressed()
if a and b:
napis+=abeceda[poradi]
elif a:
...
elif b:
...
if accelerometer.was_gesture("shake"):
display.scroll(napis)
3. Posílání zpráv
Při zatřesení odešli zprávu. Při přijetí zprávy ji zobraz.
...
if accelerometer.was_gesture("shake"):
display.scroll(napis)
radio.send(napis)
zprava = radio.receive()
if zprava:
display.scroll(zprava)
if accelerometer.was_gesture("shake"):
display.scroll(napis)
radio.send(napis)
zprava = radio.receive()
if zprava:
display.scroll(zprava)
Doplnit nastavení kanálu.
Možno přidat např. obrázek obálky před přijatou zprávou.
4. Posílání pokynů
Při přijetí některých zpráv udělej akci (např. zobraz obrázek, animaci, blikej apod.)
Např.:
Např.:
if zprava:
if zprava=="HEART":
for i in range(3):
display.show(Image.HEART)
sleep(200)
display.clear()
sleep(200)
if zprava=="SQUARE":
for x in range(5):
for y in range(5):
display.set_display(x,y,9)
sleep(100)
else:
display.scroll(zprava)
if zprava=="HEART":
for i in range(3):
display.show(Image.HEART)
sleep(200)
display.clear()
sleep(200)
if zprava=="SQUARE":
for x in range(5):
for y in range(5):
display.set_display(x,y,9)
sleep(100)
else:
display.scroll(zprava)
Při testování zjistíme, že kratší kódy jsou praktičtější a také že je dobré přidat číslice.
<<< Začínáme s Pythonem
<<< Kreslení s Pythonem
<<< Tlačítka s Pythonem