Příspěvky

Zobrazují se příspěvky se štítkem bez příslušenství

If – then – else hry s kostkami

Obrázek
Řešené úlohy s podmínkami se zvyšující se obtížností. Vyzkoušeno ve smíšeném kroužku začátečníků a pokročilých. Pro takové případy je vhodné mít nachystané různou úroveň zadání na podobné téma. Mnoho vylepšení vymyslí děti samy. Př. 1: Při stisku A vyber náhodně jeden ze dvou obrázků. Př. 2: Při zatřesení zobraz náhodně puntíky jako na kostce. Př. 3: Použij opakování, aby se před zastavením kostky náhodně objevovala čísla. Př. 4: Při stisku A sniž počet zobrazených puntíků, při stisku B zvyš (funkce). Př. 5: Po šestce zobraz znova jedničku, před jedničkou šestku. Př. 6: HRA: Při stisku A hodí kostkou první hráč, při stisku B druhý hráč a zobrazí se, kdo vyhrál. Př. 7: HRA: Naprogramuj dva microbity tak, aby si navzájem poslaly počty bodů. Na microbitu s větším počtem bodů se zobrazí veselý smajlík, na druhém smutný. Nezapomeň na remízu. Př. 8: HRA: Na microbitu nech náhodně zobrazovat puntíky jako na kostce, druhým microbitem zastav. Zastav tři „kostky“ současn

Nápisy v Pythonu

Obrázek
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.  abeceda = "ACBDEFGHIJKLMNOPQRSTUVWXYZ .,!?" display.show(abeceda[0]) 1. Písmena  Při stisku tlačítek cyklicky měň zobrazené písmeno abecedy. >>> Tlačítka s Pythonem 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

Tlačítka s Pythonem

Obrázek
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() 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)

Hlasování pro začátečníky

Obrázek
Nápad vhodný pro úplné začátečníky a také pro smíšené skupiny. Pokročilejší mohou zařízení vylepšovat například >>> pomocí polí . Naprogramujte hlasovací zařízení, které odešle vaši odpověď. Sčítací zařízení očekává číslo, odpovědi jsou číslovány od nuly: A = 0, B = 1, C = 2, ... případně ANO = 0, NE = 1 >>> Pracovní list k tisku <<< Hlasovací zařízení (vysílač): Sčítací zařízení (přijímač): Nejjednodušší varianta sčítacího zařízení: Použijeme více microbitů, každý pro jednu odpověď. Vylepšení: tlačítky nastavíme, kolikátou odpověď má počítat. Odkaz na program více přijímačů v makecode >>> Hlasování pomocí polí  (pokračování pro pokročilé) >>> Dálkově ovládaný displej  (podobně diferencovaná úloha)

Hlasování

Obrázek
Sčítání hlasů pomocí microbitů s využitím pole (array) . Pro začátečníky >>> lze i bez pole . Hlasovací zařízení:   Pomocí tlačítek vybírám možnosti (A, B, C, D), stiskem obou tlačítek odešlu zvolenou možnost na vybraném kanále. Každý si programuje svůj microbit. Sčítací zařízení:   Jeden nebo více microbitů zobrazuje a případně vizualizuje počty. >>> Pracovní list k tisku <<< Prvních pět příkazů pro práci s poli zajišťuje: – vytvoření a nastavení pole čísel – vytvoření a nastavení pole řetězců – zjištění délky pole (počet položek) – zjištění hodnoty v poli na zadané pozici – nastavení hodnoty v poli na zadané pozici (pozice jsou číslovány od nuly) Hlasovací zařízení (vysílač): Možnosti jsou uloženy v poli, místo písmen mohou být libovolné texty, např. "ANO", "NE", počet možností se v kódu upravuje tlačítky + a –. Pomocná proměnná poradi ukazuje na zvolenou možnost, tlačítky A/B se snižuje/zvyšuje její hodnota. J

Coin game

Obrázek
Videonávod na hru, ve které se nakláněním pohybujete a sbíráte náhodně se objevující mince. Kód s nepatrnými úpravami: Odkaz na coin game v makecode Hra je známá také pod názvem Catch the Egg a existuje k ní propracovaný návod do hodin: https://makecode.microbit.org/lessons/catch-the-egg-game Pro polohu postav nevyužívá zelených herních bloků ale proměnnou, pro vykreslení rozsvícení LED na pozici x, y.

Space invaders

Obrázek
Videonávod na hru, ve které letíte vesmírnou lodí a střílíte nepřátele. Zavzpomínejte na legendární hru z roku 1978 ! Verze 2:

Pozdrav v pěti jazycích

Obrázek
Ke stoletému výročí  Gymnázia Brno, Elgartova  studenti vytvořili dálkově ovládaný displej – robota, který umí pozdravit v pěti jazycích na škole vyučovaných. Kromě microbitů a baterií není potřeba žádné příslušenství a nápad se dá využít i na jednom samotném microbitu (místo dálkového přenosu se pouze zobrazí text). >>> Princip displeje je popsán v samostatném článku.   Každý z microbitů si z odeslaného textu vezme první písmeno, podle pořadí nastaveného na začátku. Ovladač displeje Pomocí tlačítek na ovladači vybíráme jazyk, stiskem obou tlačítek současně se odešle pozdrav. Pokud máme k dispozici jen jeden microbit, pak místo poslání na displej může být pouhé zobrazení textu. Řešení pomocí konstrukce if–elif–...–elif–else  a odložení celé konstrukce do funkce: odkaz na program v makecode Elegantnější řešení pomocí dvou polí: odkaz na program v makecode Ovladač displeje – pro začátečníky Příchozí návštěvníci si mohli do jiného microbitu nahrát

Dálkově ovládaný displej

Obrázek
Efektní hříčka bez dalšího příslušenství s variací obtížnosti od úplných začátečníků po velmi pokročilé. Zadání : Vytvořte displej z několika microbitů ovládaný dálkově jiným microbitem. (Začátečníci programují pouze vysílač.) Varianty : každý microbit zobrazí jedno písmeno,  nápis bude rolovat,  efekty jako blikání, postupné objevování ... Vysílač pouze na správném kanálu pošle text. Je také možné využít proměnné a mít zásobu textů, které tlačítky měním a stiskem A+B odešlu. Displej Jak zařídit, abychom do všech microbitů nahráli stejný program a nemuseli programovat každý zvlášť? Použijeme proměnnou s číslem (pořadím) microbitu, kterou po zapnutí nastavíme tlačítky. Postupné objevování: pauza (délka – číslo)*100ms Rolování : Časy čekání je potřeba doladit. Vylepšení – efekty : Po zatřesení lze odeslat zvolené klíčové slovo, například *BLIK*, které se na displeji nevypíše, ale vyvolá efekt (např. blikání). Nutně tedy potřebujeme uložit naposle

Obrázky

Obrázek
Řešené úlohy s obrázky se zvyšující se obtížností Při stisku tlačítek zobrazuj obrázky.  Sestav zajímavou animaci.  Stiskem tlačítek zobrazuj obrázky nebo animace na druhém microbitu (if).   Zobraz náhodný obrázek (if).  Při stisku tlačítek  měň obrázky jako v galerii (if, stavová proměnná).  Měň obrázky a stiskem A+B je odešli na druhý microbit. (=5+3)  Zařaď za sebe několik microbitů tak, aby se po nich proběhl obrázek.  Opakuj postupné/náhodné zobrazení obrázků, stiskem tlačítka A obrázek zastav, stiskem B opět spusť.  Opakuj postupné/náhodné zobrazení obrázků, druhým microbitem ovládej zastavení a spuštění. Náhodné obrázky zobrazuj na více microbitech současně a zkus zastavit stejné obrázky (videostop).  Řešení, poznámky a rozšíření Př. 1: Kouzlo: při sklopení displeje se vymění obrázek. Přidejte čarovnou formuli a kouzelnickou hůlku. Př. 2: Na microbitu prší? Pohybuje se panáček nebo dokonce dinosaurus? Simulace tetrisu či jiné oblíbené hry? Nechte to na dě

Nápisy

Obrázek
Řešené úlohy se zvyšující se obtížností, v hlavní roli text. Zobraz různé nápisy po stisku tlačítek. Odešli nachystaný text na druhý microbit při stisku tlačítka.  Odešli text na více microbitů, každý začne zobrazovat s jiným zpožděním, poskládej jako běžící text.  Náhodný výběr nápisu (if).  Při stisku tlačítek se cyklicky mění zobrazené nápisy (if, stavová proměnná)  Vyber nápis a zatřesením odešli na druhý microbit (=5+2).  Při stisku tlačítek cyklicky měň zobrazené písmeno abecedy.  A, B mění písmena A+B přidá písmeno k nápisu, při zatřesení zobraz celý nápis.  SMS = předchozí zadání + odeslání na druhý microbit  Dálkově ovládaný displej z více microbitů.  Dálkově ovládaný displej z více microbitů s běžícím textem. 

Kreslení s Pythonem

Obrázek
jas = display.get_pixel(x, y) do proměnné jas uloží jas diody na [x,y] display.set_pixel(x,y,j) diodě na [x,y] nastaví jas (od 0 do 9) display.clear() nastaví všechny diody na 0 << Zpět na Začínáme s Pythonem na microbitu 1. První pokus Opakovaně rozsvěcuj a zhasínej ledku uprostřed.  from microbit import * while True:     display.set_pixel(2,2,9)     sleep(500)      display.set_pixel(2,2,0)      sleep(500) 2. Náhodné rozsvěcování Vyzkoušejte nejprve: from microbit import * from random import randrange while True:     display.show(randrange(0,9))     sleep(200) Díky řádku  from random import randrange , můžeme používat příkaz randrange()  z modulu random  (náhoda), který náhodně vybírá celé číslo. Opakuj dokola: rozsviť ledku na náhodné pozici (x i y od 0 do 4). Zkuste různé nastavení čekání.  from microbit import * from random import randrange while True:     x = randrange(0,5)     y = ra

Začínáme s Pythonem

Obrázek
python.microbit.org # poznámku označíme dvojkřížkem  (pravý alt + X)  # stejně tak zakomentujeme nepotřebné řádky kódu  # rozlišuje velká a malá písmena a odsazení řádků "Save" uloží kód  .py k pozdějšímu využití – stačí soubor "hodit" do okna "Download" stáhne kód .hex pro Micro:bit. Dokumentace Popis vzorového programu [1] # Add your Python code here. E.g.  [2] from microbit import *  [3] [4] while True:  [5]   display.scroll('Hello, World!')  [6]   display.show(Image.HEART)  [7]   sleep(2000) [1] do poznámky je vhodné napsat název a popis programu a uvést autora [2] pro ovládání microbitů potřebujeme příkazy z modulu microbit [3] prázdné řády slouží ke zpřehlednění kódu [4] nekonečný cyklus, provádí se stále dokola do těla cyklu patří všechny stejně odsazené řádky, tedy [5], [6], [7] [5] roluj nápis na displeji [6] zobraz obrázek, seznam je v dokumentaci [7] čekej 2000 milisekund = 2 sekundy 1. První v