Úkol 9: Opice

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

Příběh hry

V džungli žije opice, která má moc ráda banány, nepohrdne však ani jablky. Nicméně si musí dávat pozor na sladkosti, které tam neohleduplní turisté zanechávají, obzvláště nebezpečný je pro opici dort.

Cíl hry

Žák se seznámí s proměnnou.

Vstupní požadavky na žáka

  • Algoritmizace: posloupnost příkazů, reakce na vstup uživatele, nekonečný cyklus, neúplná podmínka, čekání po daný čas
  • Scratch: událost po startu, práce s postavami a pozadím, velikost postavy, pozicování, opakuj stále, podmínka když, vyhodnocení dotyku, čekej x sekund, skrývání a ukazování postav

Nové dovednosti

  • Algoritmizace: proměnná
  • Scratch: pohyb postavy pomocí myši (skoč na kurzor myši), práce s proměnnou

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

  1. Vyber vhodnou scénu.
  2. Přidej opici, uprav její velikost a zajisti, aby se stále nacházela tam, kde je kurzor myši. 
  3. Přidej banány, uprav jejich velikost a zajisti, aby se objevovaly na náhodných pozicích, vždy tam chvíli vydržely, poté se skryly a zůstaly chvíli skryté. Následně se zase objeví…
  4. Založ proměnnou “Body”, nastav ji na 0 a zajisti, aby byla zobrazená. Nápověda: proměnnou můžeme zakládat jak u postav, tak u scény chceme, aby naše proměnná byla společná pro všechny postavy ve hře.
  5. Když opice chytí banán, dostaneme bod a banán se skryje.
  6. Přidej další objekty (jablko, koblihu, dort) se stejným chováním jako mají banány (pokud chceme mohou být vidět rozdílnou dobu).
  7. Když opice chytí banán dostaneme 3 body, když jablko tak 1 bod, když koblihu tak o 1 bod přijdeme a když chytí dort naše bodové skóre se vynuluje.
  8. Zajisti, aby se jídlo neobjevovalo všechno naráz.
  9. Bonusové úkoly: 
    1. Více jídla s různým bodovým hodnocením.
    2. Opice vyjádří radost/smutek z chyceného jídla. 

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

  • Opice pohybující se na kurzoru myši je velice hladová. Za každé snědené jídlo dostane body. Je pro ni vhodné zejména ovoce (za něj se body přidávají) naopak sladkosti jí velmi škodí (za ně se jí body ubírají nebo dokonce vynulují).
  • Jídlo se objevuje na náhodných místech.
  • Bonusové úkoly: 
    • Více jídla s různým bodovým hodnocením.
    • Opice vyjádří radost/smutek z chyceného jídla. 

Program

Řešení a metodické poznámky

  1. Vybereme vhodné pozadí.
  2. Přidáme postavu opice, upravíme její velikost a umístíme ji do popředí (aby se neschovávala pod jídlo). Následně zajistíme, aby se postava stále nacházela na kurzoru myš pomocí příkazů opakuj stále skoč na ukazatel myši.
  3. Přidáme postavu banánu a upravíme jeho velikost. Banán se vždy na chvíli objeví na náhodné pozici a poté zase skryje, toto chování opakuje po dobu celé hry. Čím kratší dobu je banán vidět, tím je hra obtížnější, protože je náročnější jej chytit.
  4. Založíme proměnnou body: V záložce Proměnné zvolíme vytvoř proměnnou. Tuto proměnnou můžeme zakládat jak u scény, tak u postav. Chceme však, aby ji znaly všechny postavy (jedná se o proměnnou globální, tím však žáky nezatěžujeme). Pokud ji zakládáme u scény tak je globální vždy, pokud u některé z postav je potřeba zvolit “pro všechny postavy”. Tuto novou proměnnou nastavíme na 0 a ukážeme ji. Doporučení: v rámci přehlednosti programu je dobré proměnné definovat u scény, abychom vždy hned věděli, kde jejich sklad máme, vyhneme se tak i volbě, jestli bude globální či lokální, protože proměnné založené u scény jsou vždy globální.
  5. Zisk bodů za chycení: K ovoci naprogramujeme podmínku opakuj stále když dotýkáš se opice, která bude obsahovat změnu skóre (změň body o…) a skrytí daného ovoce. 
  6. Přidáme další jídlo se stejným chováním jako banán, jen bodový zisk je různý:
    1. banán +3 body (změň Body o 3)
    2. jablko +1 bod (změň Body o 1)
    3. kobliha -1 bod (změň Body o -1)
    4. dort anuluje body (nastav Body na 0)
  7.  Asynchronní objevování jídla:
    1. můžeme nastavit každému jídlu rozdílnou dobu kdy je vidět a kdy je skryté
    2. můžeme před tím, než spustíme cyklus pro objevování jídla dát rozdílně dlouhou prodlevu
    3. můžeme využít operátor náhodné číslo (ten však žáci v tuto chvíli zatím neznají) a realizovat pomocí něj variantu 1 nebo 2
  8. Bonusové úkoly:
    1. Další jídlo funguje stejně jako to, které již v programu máme.
    2. Opice reaguje na chycení jídla – doplníme podmínku u opice když dotýkáš se… a vymyslíme co se má stát.

Možné problémy a komplikace

  • Opice se schovává pod ovoce – není nastaveno, aby opice byla v popředí
  • Body se neukazují nebo je program nezná – nemáme proměnnou vytvořenou nebo definovanou nebo nemáme nastaveno její zobrazení (ukaž proměnnou).
  • V bonusovém úkolu opice nestihne reagovat dřív, než se jídlo skryje – doplníme k jídlu prodlevu 0.1s předtím než se skryje.
  • Jídlo je zobrazeno příliš krátce a rychle se přesouvá jinam – je nastavena příliš krátká nebo žádná doba čekání.
  • Postavy se neustále zmenšují nebo zvětšují – není upravena procentuální velikost, ale použit příkaz změň velikost o a kvůli tomu jsou postavy po každém startu větší nebo menší.