Programování pro děti

nebo úplné začátečníky

Uživatelské nástroje

Nástroje pro tento web


priklady:minihra

Program třetí

Jelikož se už v prostředí Snapu! umíme orientovat, můžeme si vyzkoušet naprogramovat jednoduchou „minihru“ :-) Nemusíte se bát, nepůjde o nic složitého.

A jak bude naše hra vypadat? Podél pravého okraje se bude pohybovat čtverec (cíl). Naším úkolem je strefit se pomocí střely do tohoto čtverce. Z levé strany tedy budeme mezerníkem vystřelovat na náš pohyblivý cíl, a pokud cíl trefíme, připočte se nám bod do „skóre“.

Úkol můžeme rozdělit na tři části. Vytvořit a naprogramovat:

  1. cíl
  2. počítadlo bodů
  3. střela

Cíl

Začneme tedy první částí =). Po načtení Snapu! si rozklikneme záložku kostýmy, kde můžeme upravit vzhled objektu. Klikneme tedy na ikonu štětečku a dostaneme se do nabídky, kde si můžeme vybrat tvar, barvu a další efekty našeho cíle.

Když už máme vybráno, potvrdíme kliknutím na OK a můžeme programovat !

Chceme aby se náš cíl pohyboval od spuštění programu, zvolíme tedy začátek . Co ale dál? Čtverec by se měl pohyboval zdola nahoru a až dorazí na okraj, tak zase dolů. Protože se jedná o pohyb, budeme hledat vhodný příkaz v . Jelikož chceme, aby se cíl pohyboval směrem nahoru, zvolíme . Také bychom měli nastavit cíli pozici, ze které bude vycházet. Použijeme , což nám nastaví pozici cíle zhruba na střed (osy y).

Teď máme počáteční pozici a směr, takže už jen zbývá posouvat cíl. K tomu použijeme v příkaz , hodnotu kroků nastavíme na 1. Když už se nám posouvá cíl, musíme zajistit, aby se „odrážel“ od okrajů. Může to znít složitě, ale tvůrci Snapu nám ulehčili práci a připravili pro nás příkaz .

Prozatím máme:

To ale znamená, že se cíl posune jen o jeden krok. Pokud budeme chtít aby se ty kroky opakovaly a cíl se tak posouval nahoru a dolu, budeme muset říct, do kdy chceme, aby se takto cíl pohyboval. Kdy se má cíl přestat pohybovat? Když hra skončí. A jak poznáme, kdy hra skončila? K tomu nám bude sloužit počítadlo bodů.

Počítadlo bodů

Překlikneme si na skript scény (v ploše s objekty). Začneme . Poté si v menu vybereme a vytvoříme si dvě nové proměnné, které pojmenujeme „body“ a „konec“. Obě proměnné nastavíme na 0 . Nyní je chvíle, kdy se musíme rozhodnout po kolika bodech má hra skončit. Pro začátek můžeme zkusit 3 body. Jakmile trefíme cíl více než třikrát, hra skončí. Jak tedy na to?

Musíme si uvědomit, že tato podmínka (zda nejsou body>3), se musí kontrolovat neustále. Proto použijeme a do něj vložíme podmínku když, do této podmínky nejdříve vložíme příslušný operátor <, dále vložíme proměnnou body a nastavíme hodnotu na 3. Když bude platit tato podmínka, tak musíme nastavit proměnnou konec na hodnotu 1.

Teď se můžeme vrátit zpátky do skriptu našeho cíle. Tam se tedy stále pohybujeme jen o jeden krok, ale tentokrát už víme, kdy hra skončí, takže budeme posouvat cíl, dokud nebude konec, neboli dokud konec>0 . Když teď zkusíte spustit program, bude se cíl pohybovat nahoru a dolů, ale nikdy se nezastaví, protože jsme si ještě nenaprogramovali střílení, které by nám navyšovalo skóre ;-)

Střela

Vytvoříme si nový sprite , v kartě kostýmy nastavíme vzhled. Úplně si vystačíme s černou tečkou/kruhem. Střílet budeme mezerníkem, takže pro začátek . Poté budeme chtít určit polohu, ze které naše střela „vyletí“. Nejlepší bude levý okraj veprostřed. Použijeme . Když už máme pozici, musíme nastavit i směr, stejně jako jsme to dělali u pohybu cíle , tentokrát doprava. Při stisku mezerníku budeme chtít, aby se nám zobrazila střela, poté se posouvala. Pokud se trefíme do cíle, tak by se mělo navýšit skóre, pokud ne, tak by měla tečka zmizet, jakmile dorazí k pravému okraji.

Začneme v menu příkazem . Ten nám zobrazí střelu. Dokud nebude konec hry, nebo tečka nenarazí na okraj, bude se posouvat střela, jinak se opět skryje. Tyto podmínky můžeme zapsat takto: . Pokud budou splněny, můžeme posouvat střelu . Nesmíme zapomenout na navyšování skóre při trefení cíle. K tomu nám postačí jednoduchá podmínka Když. Jak říct, že se střela srazí s cílem ? V menu zvolíme příkaz , potom změníme hodnotu proměnné body o 1 a nastavíme střelu na ose x na 300 . Na konec připojíme , aby střela zmizela, když doletí k okraji okna. A máme hotovo! =)

Celý kód střely :

priklady/minihra.txt · Poslední úprava: 10. 11. 2014 16:29 autor: Lucka Volavková

Nástroje pro stránku