Programování pro Android v prostředí MIT App Inventor
Programování pro Andorid v technicky nenáročném webovém vývojové prostředí.
9. Aktivita 5 - podmíněné větvení programu
|
Téma |
||
|
Tematický celek |
Použití podmíněného větvení programu |
|
|
Motivační rámec |
Multiplayer v interaktivní grafické aplikaci |
|
|
Počet žáků |
5-15 |
|
|
Věk žáků |
10+ |
|
|
Pomůcky |
PC odpovídajících parametrů, |
|
|
Stručný popis aktivity |
Přihlášení k prostředí App Inventoru http://appinventor.mit.edu/ |
|
|
Vhodné místo |
Počítačová učebna |
|
|
Cíle aktivity |
Studenti si vyzkouší použití několika způsobů větvení programu. |
|
|
Předchozí znalosti |
Aktivita navazuje na předchozí lekci tohoto kurzu. |
|
|
Časový plán |
Fáze činnosti s přístrojem |
Metody a formy, motivace |
|
5-25m |
Seznámení s tématem lekce. Volitelně ukázka funkční aplikace. Seznámení s tématem větvení programu. Neúplné podmíněné větvení "if", úplné podmíněné větvení "if / else", vícenásobné podmíněné větvení "if / else if / else". Volitelně nákres vývojových diagramů. Volitelně samostatná činnost žáků, vyhledávání informací k tomuto tématu. |
Frontální výklad, ukázka, samostatná práce žáků |
|
30-60m |
Úprava vlastní aplikace dle ukázek a popisu v této lekci. |
Samostatná a skupinová práce s využitím výukových materiálů tohoto kurzu |
|
15-20m |
Modifikace aplikace. |
Samostatná a skupinová práce |
|
15m |
Prezentace prací žáků, sdílení poznatků, diskuze. |
Prezentace prací a diskuze |
|
Hodnocení |
Zpětná vazba je okamžitá. Student reflektuje vzdělávací cíle, svůj postup a dosažené výsledky. Student průběžně srovnává vlastní výsledky s výsledky ostatních studentů. |
|
|
Návaznosti |
Na tuto aktivitu navazují následující aktivity, které prohlubují a kombinují znalosti prostředí App Inventoru. |
|
|
Poznámky |
Pro případ výpadku připojení k internetu nebo technických problémů s App Inventorem doporučuji připravit záložní aktivitu, založenou na podobných principech blokového programování, například offline aplikaci MIT Scratch, BYOB nebo některou z variant programovacích prostředí LOGO. |
|
Aplikace pro ukázku podmíněného větvením programu
Opět přibylo několik komponent, především několik časovačů, loď pro druhého hráče, střela.

Ukázka části kódu aplikace, ve které je využito několik typů podmíněného větvení programu.
Nově přibyla funkčnost:
- loď druhého hráče a obsluha jejího pohybu,
- obsluha výstřelu při dvojkliku na loď druhého hráče, z pozice x:y lodi ve směru letu lodi,
- animace letící střely,
- animace motorů lodi druhého hráče,
- obsluha kolize střely druhého hráče s lodí prvního hráče,
- zastavení lodi prvního hráče po zásahu střelou druhého hráče,
- obsluha kolize lodi druhého hráče s krystalem a počítání skóre,
- obnova nastavení pro střelu a druhého hráče při stisku tlačítka reset,
- timeout zabraňující opakování výstřelů rychle za sebou.
Významné bloky:
when ClockAnimaceAPohyb.Timer = časovač tikající po 100ms, řešící animaci (změnu obrázků) střely, v případě, že je letící. Animace motoru lodi druhého hráče. Řeší i zastavení lodi prvního hráče po zásahu střelou. Zastavení je řízeno proměnnou Ufo1_stoji, která je při zásahu nastavena na hodnotu 30. Loď stojí po dobu cca 30x 100Ms.
When ImageSprite_Ufo.ColideWith = V bloku kolize je navíc řešena obsluha zásahu střelou.
When ImageSprite_Ufo2.Touched = detekce dvojkliku na loď druhého hráče. V totmto případě je snaha o odfiltrování dotyku, který nastává při ovládání směru pohybu lodi. Za dvojklik je považován dvojdotek lodi, který nastane v čase menším než 300Ms.
When ClockDetekceDvojklikuNaUfo2 = pomocný blok, který pomáhá při detekci dvojkliku.

Modifikace základní aplikace
Doporučené modifikace programu:
- možnost střelby i pro prvního hráče, druhý hráč reagujicí na zásah,
- animace střelby prvního hráče, animace lodi prvního hráče,
- detekce kolize lodí hráčů a přenesení lodí na protilehlé strany plochy,
- životy hráčů a odečítání při zásazích,
- zastavení a vyhodnocení hry po určitém časovém intervalu / po dosažení počtu bodů.