Title: Tipy pro řešení
Course: Didaktika informačních technologií > Section: Scratch

Tipy pro řešení

- Vzhled: Musíme upravit vzhled postavy. Jsou zde dvě možnosti, buď přidáme kostým vesmírné lodi do stávající postavy a předdefinované smažeme nebo vytvoříme novou postavu a smažeme původní.

Vesmírná loď je moc velká, jak ji zmenším?

- Realizace pohybu: Realizace pohybu je poměrně jednoduchá. Musíme si uvědomit, že se pohybujeme v 2D prostoru, budeme tedy upravovat pouze dvě souřadnice. Tedy souřadnici X a Y. Tuto úpravu musíme ještě navázat na stisk tlačítka.

Moc nevím, co s tím, jak na to?

- Doladění pohybu: Raketa se nám může „schovávat“ za okrajem herní obrazovky. Proto do pohybu musíme přidat podmínku Když. V této podmínce musíme nastavit vnímání dotyku okraje obrazovky, a pokud se tak stane, změnit pohyb opačným směrem.

To je hezké, ale nemůžu najit správné bloky, jak to vypadá?

Pro zdání vesmírné cesty musíme přidat pár vesmírných objektů, kterým se při své cestě musí naše vesmírná loď vyhýbat. Tyto objekty budou „padat“ ze shora herní obrazovky dolů. Budou se tedy zjevovat na náhodné pozici v ose X (240 až -240) a pohybovat se směrem dolů po ose Y (180 až -180).

- Pohyb těles: Pro „padání“ těles využijeme událost Po kliknutí na praporek (symbolizující start programu), po kterém bude následovat ovládací blok Opakuj stále, ve kterém bude pohybový příkaz. Jaký? No přece ten, co upravuje pohyb po ose Y.

Objekt se mi nepohybuje, nebo se pohybuje naprosto jinak, jak to má být dobře?

- Pokročilý pohyb těles: Objekt se nám sice pohybuje, ale když dojede na konec herní obrazovky, jeho pohyb končí. Proto do pohybu tělesa musíme zakomponovat podmínku. Tato podmínka bude Když, když tedy co? No přece, když se nám naše planetka či asteroid dostane na konec herní plochy, tedy souřadnice Y bude -180, tak (tedy vnitřek podmínkového bloku) se nám musí Y vrátit na +180. Zápis může vypadat různě, půjčíme si například < blok z operátorů a do něj dáme zápis Y<-179.

Jsem úplně mimo, jak to má tedy vypadat?

- Náhodná pozice: Těleso nám padá dokola, ale pořád ve stejných místech. To by samozřejmě nevypadalo moc hezky, proto musíme do předešlé podmínky zakomponovat blok generující náhodná čísla, který nalezneme v operátorech. Přidáme tedy pohybovou akci Nastav X, a do ní dáme právě zmíněný blok s parametry rozsahu X (-240 až 240).

Moc nechápu, co mám dělat, můžete mi poradit?

- Skrytí postav: Aby se nám tělesa pohybovala v různých posunech, rozmístíme si je tak, aby nebyly v rovině. Při puštění hry by bylo vhodné je skrýt a až po chvíli by se měla začít objevovat. Toho docílíme tak, že do kódu umístíme na správná místa bloky Skryj se a Ukaž se.

Zrekapitulujeme si, co jsme zatím udělali. Máme raketu, která se pohybuje pomocí šipek, máme objekty, které nám „Padají“ a náhodně se objevují na začátku herní obrazovky. Chybí nám tedy ještě vytvořit dvě pozadí (scény), jednu pro hru, druhou pro konec hry, nastavit kolize, a s tím spojený konec hry, počítání herního skóre a urychlování průletu raketou.

- Nastavení pozadí (scén): Nastavení scén je opravdu jednoduché. Klikneme na scénu, připravíme dvě pozadí, buď přes knihovnu, nebo pomocí kreslení, či vkládání obrázku. Do pozadí, jež se bude zobrazovat po konci hry, vložíme odpovídající text, ten můžeme pak i zvětšit.
- Kolize rakety: Kolize rakety s vesmírným tělesem se realizuje pomoci ovládacího bloku Čekej dokud se nestane a vnímání Dotýkáš se. Takže nejprve dáme událost Po kliknutí na praporek, na kterou navážeme právě již zmiňovaný ovládací blok, pak bude následovat Zastav všechno. Pro to, abychom mohli informovat Scénu o tom, že došlo ke kolizi, dáme ještě před Zastav všechno událost Vyšli zprávu.

Nejde mi nastavit Čekej dokud se nestane tak, aby reagovalo na všechny objekty, co s tím?

- Výměna pozadí: Pro výměnu pozadí je nutné kliknout na ikonku scény. Vybereme blok symbolizující spuštění programu, pod něj připojíme blok Změň pozadí na a vybereme pozadí, které nás bude doprovázet až po konec hry. Následně vybereme blok Po obdržení zprávy a zkusíme vymyslet, co bude následovat.

Ale myšlení bolí, jak to má být správně?

- Počítání skóre: Pro počítání skóre bude zapotřebí vytvořit proměnou. Přejdeme do položky data, tam zmáčkneme příslušné tlačítko a zobrazí se nám bloky vytvořené proměnné. Pro počítání Skóre budeme potřebovat dva bloky. Nastav __ na 0, který umístíme za blok symbolizující start, optimálně ve scéně, a Změň Skóre __ o X, který dáme na příslušné místo u vesmírných objektů.

Příslušné místo, co prosím?

- Průběžné zrychlování hry: Hra se má časem urychlovat. Již máme prostředek, kterým zjistíme, jak daleko jsme ve hře. Ano, je to proměnná skóre. Teď nám stačí upravit pouze posun vesmírných těles o naší stávající rychlost (-2) a připočíst (v našem případě odečíst) poměrnou část skóre.

Fajn, moc nechápu, oč jde?

- Bonus: Raketa nám sice narazila do vesmírného tělesa, ale není to na ní znát, upravme tedy loď tak, aby její vzhled po nárazu vypadal jako exploze.