Úkol 2: Denní a noční život

Program | Zadání v krocích | Zadání formou úkolu

Příběh hry

Motýl si vesele létá po lese. Uživatel se může rozhodnout, že už je čas, aby byla noc, v tu chvíli se změní pozadí na noční. Z motýla se stane netopýr a opět létá po lese, když si uživatel rozmyslí, že už je čas, aby byl den, změní se pozadí a z netopýra se opět stane motýl.

 

Cíl hry

Žák se seznámí s výběrem postav, jejich kostýmy, pozadím a prací s nimi, naučí se systematicky pojmenovávat objekty a ovládat pohyb postavy pomocí šipek. Zároveň si upevní algoritmickou strukturu posloupnost příkazů. 

Vstupní požadavky na žáka

  • Algoritmizace: posloupnost příkazů, reakce na vstup uživatele
  • Scratch: události klávesnice, událost po startu 

Nové dovednosti

  • Algoritmizace: systematické pojmenovávání objektů
  • Scratch: práce s postavami a jejich kostýmy (výběr, pojmenování, změna), práce s pozadím (výběr, pojmenování, změna), pohyb postavy pomocí šipek

Zadání pro žáky v krocích

  1. Vyber denní pozadí a postavu motýla. Doporučení: pozadí přejmenuj na “Den” a podívej se, jaké má postava kostýmy – záložka Kostýmy, jeden můžete přejmenovat na “Motýl”, přebytečné kostýmy postavy nebudou potřeba, tedy je možné smazat.
  2. Zajisti pohyb motýla pomocí šipek. Nápověda: stejně jako člověk se pohybuje pomocí kroků, stejným způsobem se pohybují postavy v našem programu. Doporučení: aby nám motýl nelétal hlavou vzhůru použijeme způsob otáčení vlevo-vpravo.
  3. Zařiď, aby se nám motýl neschovával za okraj herní plochy. Nápověda: potřebujeme, aby se motýl od okrajů odrážel.
  4. Přidej noční pozadí.
  5. Doporučení: pozadí přejmenujte na “Noc”.
  6. K postavě přidej kostým netopýra. Doporučení: kostým přejmenuj na “Netopýr”.
  7. Zařiď, aby po stisku klávesy N nastala Noc a po stisku klávesy D nastal Den Nápověda: přepnutí pozadí.
  8. Ve dne je naše postava motýlem, v noci je netopýrem. Nápověda: změna kostýmu.
  9. Doporučení: bylo by dobré, aby program věděl, jestli po startu hry má být den nebo noc a zároveň zda má být postava po startu hry motýlem nebo netopýrem.
  10. Bonusové úkoly: 
    • Další pozadí a vhodné postavy: například město + člověk, voda + ryba, hrad + princezna a tak dále.

Zadání pro žáky ve formě úkolu

  • Postava se pohybuje pomocí šipek, bylo by dobré, aby se neschovávala za okraje.
  • Ve dne je naše postava motýlem, v noci netopýrem. Doporučení: je vhodné si kostýmy i pozadí adekvátně pojmenovat, usnadní to další práci.
  • Noc nastane po stisku klávesy N, den po stisku klávesy D.
  • Bonusové úkoly: 
    • Další pozadí a vhodné postavy: například město + člověk, voda + ryba, hrad + princezna a tak dále.

Program

Řešení a metodické poznámky

  1. Vybereme vhodné pozadí. V knihovně pozadí je k dispozici celé škála druhů pozadí, pro tento úkol je nejvhodnější denní příroda.
  2. Z důvodu přehlednosti, a zejména s ohledem na další části úkolu, je toto pozadí vhodné přejmenovat na “Den”. Klikneme vpravo dole na sekci pozadí a následně vlevo nahoře na záložku Pozadí. Kde vidíme všechna vybraná pozadí a můžeme s nimi pracovat.
  3. Vybereme postavu motýla. V knihovně postav nalezneme dva různé motýly a jednoho si vybereme. 
  4. Opět je vhodné, postavu přejmenovat, nicméně u postav je to složitější, protože musíme rozlišovat postavu samotnou ( = postavička, kterou programujeme) a její kostýmy (= to, jak naše postava aktuálně vypadá), jedna postava může mít libovolný počet kostýmů. V tuto chvíli musíme mít kliknuto na postavu, kterou chceme měnit a nad její ikonkou můžeme změnit jméno postavy. Dále pak vlevo nahoře vybereme záložku Kostýmy, kde můžeme spravovat všechny kostýmy, které daná postava má. Motýl může mít ve výchozím nastavení kostýmů více, nám bude stačit jen jeden motýl (a jeden netopýr, kterého přidáme později), přebytečné motýlí kostýmy je možné smazat.
  5. Pohyb postavy pomocí šipek: Vždy, když chceme postavu programovat, musíme ji mít vybranou (kliknutím na její ikonku vpravo dole) a také je potřeba být v záložce Scénáře, ve které najdeme všechny příkazy. Existují dvě varianty, jak zajistit pohyb postavy na šipky. Vždy však začínáme příkazem po stisku klávesy. (Poznámka: lepší a pro žáky v tuto chvíli pochopitelnější mi přijde způsob A, ale správné a funkční jsou oba dva.) V obou případech musíme zvolit adekvátní počet kroků/posun, ideální je 5-10.
    • Způsob A: Nastavení směru a  posunu o x počet kroků. Směr nastavíme podle toho, jakou šipku zrovna programujeme, Scratch nabízí k tomuto účelu posuvné kolečko, takže není třeba, aby žák znal stupně. Při tomto řešení je důležité nezapomenout zařadit příkaz po kliknutí na start (zelená vlaječka) nastav otáčení vlevo-vpravo, jinak by se postavička pohybovala doleva hlavou dolů.
    • Způsob B: Nastavení posunu po ose X a Y (s problematikou pozicování a osy X a Y se žáci poprvé setkají v úkolu 3). V tomto případě nemusíme zařazovat otáčení vlevo-vpravo, protože postava se nikam neotáčí. Při posunu vlevo a vpravo měníme X a při posunu nahoru a dolů měníme Y. Pokud bychom chtěli, aby nám postava na šipku vlevo necouvala musíme u šipek vlevo a vpravo nastavit směr, stejně jako u varianty A, a pak tedy též musíme zařadit příkaz na nastavení způsobu otáčení.
  6. Můžeme si všimnout, že pokud s motýlem v tuto chvíli zajedeme k okraji, tak se nám schová. Tento problém se snadno vyřeší příkaz když narazíš na okraj, odraz se, který zařadíme ke každé události po stisku klávesy, tedy po každém posunu je zkontrolováno, zda se postava nedotýká okraje. Poznámka: Samozřejmě by bylo možné tento příkaz zařadit do nekonečného cyklu, který by se vyhodnocoval po celou dobu běhu programu, nemuseli bychom mít 4x, ten stejný příkaz, nicméně bereme v potaz to, že žáci v tuto chvíli cykly neznají.
  7. Přidáme noční pozadí a vhodně jej přejmenujeme. Postup je stejný, jako při výběru prvního pozadí.
  8. K postavě přidáme kostým netopýra. U postavy, v záložce kostýmy nalezneme ikonku Vyber kostým, nový kostým vhodně přejmenujeme. Poznámka: Stejný účel pro tuto hru by splnilo i řešení, když bychom netopýra přidali jako druhou postavu a ve dne jej skryli a v noci ukázali, nicméně toto řešení by bylo značně neefektivní, vzhledem k tomu, že netopýr se chová úplně stejně jako motýl, tedy bychom tentýž kód museli psát dvakrát u obou postav.
  9. Po stisku klávesy N se přepne pozadí na Noc a po stisku klávesy D na Den. Zároveň ve dne má postava kostým motýla a v noci netopýra. Zde se naskýtají dvě řešení, kdy „způsob A“ je jednodušší (méně příkazů) a pro tento úkol zcela dostačující.
    • Způsob A: Po stisku klávesy se změní zároveň pozadí i kostým postavy.
    • Způsob B: Po stisku klávesy se změní pozadí a jako reakce na změnu pozadí se změní kostým.
  10. Zároveň je dobré, abychom určili, zda po spuštění programu bude den nebo noc. To zařídíme přidáním příkazu přepni pozadí na Den/Noc za událost po kliknutí na start (tuto událost už bychom v programu měli mít, zejména pokud jsme pohyb řešili variantou A, pokud ji tam máme, nemusíme tentýž příkaz přidávat znovu). Stejně tak je dobré definovat, jaký kostým bude mít postava na začátku hry, tedy po startu zařadíme ještě příkaz změň kostým na Motýl/Netopýr.
  11. Bonusový úkol:
    • Přidání dalších pozadí a kostýmů – fantazii se meze nekladou, vše funguje obdobně jako netopýr s motýlem.

Možné problémy a komplikace

  • Postava létá/chodí hlavou dolů – chybí nastavit způsob otáčení.
  • Postava se neotáčí správným směrem – směr otáčení není nastaven správně nebo vůbec.
  • Postava se pohybuje moc pomalu nebo moc rychle – je potřeba upravit počet kroků nebo posun na ose X/Y. 
  • Po startu hry máme noc a motýla/den a netopýra – není nastaveno kterým pozadím a kostýmem má hra začínat.