Fogócska
Nehézség
(alkalmas a Scratch bevezetésére)
Korosztály
(5-6. osztály)
Elkészítési idő
90 perc a teljes projekthez (45 perc egy rövidebb változathoz, az 5. lépés végéig)
Eszköz
(online vagy offline szerkesztő)
Elvárás az oktatótól
A Scratch felületének ismerete .
Miről szól a projekt?
Ez egy kezdő projekt, amely játékos formában vezeti be a Scratch használatát és a programozás alaplépéseit. A projektben egy önállóan mozgó szereplő üldözi egy másikat, amelyet a játékos egérmozgással irányít. A játék számos komplexebb projekt alapja lehet. Teljes változatban itt éritek el.
Az elkészítés lépései
1. A projekt létrehozása
Kedvcsinálóként vetítsétek le a résztvevőknek ezt a kétperces kis animációt, amit pár éve készítettünk a Skool-ban a Scratch népszerűsítésére, és nagyon büszkék vagyunk a sok ezer szívecskére és csillagra, amit a Scratch közösségtől kaptunk érte. Az animációban népszerű Scratch szereplők raknak össze egy Scratch kódot kalandos körülmények között.
Az animáció nézése közben tegyetek fel kérdéseket a résztvevőknek: mit gondoltok, mi történik? Miért rakják egymásra ezeket a blokkokat a szereplők? Mi fog történni, ha a zöld zászlóra kattintunk? (Ezt nem is olyan könnyű kitalálni…)
Ha megvagytok, nyissatok egy teljesen új projektet (böngészőben az “Alkoss” gombra kattintva, vagy elindítva az asztali szerkesztőappot). Akinek szimpatikus a cica, az megtarthatja; akinek nem, az cserélje le:
- töröljétek a meglévő szereplőt (jobb kattintás az ikonjára)
- új szereplő létrehozása (a “Válassz szereplőt” ikonra kattintva, aztán a szereplőtárból kattintással kiválasztva)
- a új szereplőt nevezzétek el egy közösen választott névvel, hogy könnyebb legyen hivatkozni rá (a szereplő ikonja fölötti menüben)
2. A kód újraalkotása
Most közösen, emlékezetből alkossátok újra az animációban látott kódot. A blokkok színek szerint vannak kategorizálva, úgyhogy nem lesz nehéz dolgotok:
Kattintsatok a zöld zászlóra, és íme, elindul az animáció!
Ezen a ponton érdemes egy kicsit megállni: könnyen előfordulhat, hogy a jelen lévők egy részének ez az első saját számítógépes programja. Legyetek büszkék a közös sikerre! 🙂
Próbáljátok ki, mi történik, ha a számmezőkbe írt számokat megváltoztatjátok. Figyeljétek meg, mikor mozog a szereplő gyorsabban, lassabban, mikor kisebb és mikor nagyobb sugarú körben. Ha kiszaladna a játéktérből, bármikor visszahozhatjátok a stoptábla-ikonra kattintva, majd egérrel megfogva a szereplőt. Ha pedig végképp elszaladt, mert nagyon nagy számot írtatok be a számmezőbe, akkor csak vegyetek ki egy “ugorj véletlen helyre” blokkot, és kattintsatok rá anélkül, hogy beépítenétek a meglévő kódba:
3. Egérkövetés
Szeretnénk mi irányítani a szereplőt az egér mozgatásával. Hol kellene ehhez módosítani a meglevő kódot? Az addig stimmel, hogy a szereplő folyamatosan megy előre; a forduláson kellene változtatni. De merre forduljon? Hát az egérmutató felé. Van esetleg egy erre való blokk is a kék “Mozgás” kategóriában? Hát persze! Illesszétek a “fordulj” blokk helyére a kódban, és innentől fogva az egésrmutatót követi a szereplő. Ha még a “menj” blokk számértékét is kisebbre veszitek, azzal azt is elkerülitek, hogy túl könnyen utolérje:
4. Üldözés
Most jöhet az újabb szereplő. Válasszatok magatoknak egyet a szereplőtárból, és ennek is válasszatok egy közös nevet:
Az új szereplő kódja szinte teljesen megegyezik az előzőével. A különbség az, hogy neki már nem az egérmutató, hanem a másik szereplő felé kell néznie. Könnyebben játszható lesz majd a játék, ha ő egy kicsit lassabban halad előre:
5. Ütközésfigyelés
Hogy az üldözés ne legyen céltalan, valaminek történnie kellene, amikor az “Ellenség” utoléri “Hősünk”-et. Addig tart a játék, amíg utol nem éri… Vajon ilyen blokk is van a Scratch-ben? Hát persze. De mivel feltétellel töltsük ki a benne lévő hatszögű mezőt? Kis keresgélés után ezt is meg fogják találni a gyerekek (a blokk alakja sokat segít):
Ezt a kódot természetesen ismét “Hősünk” fogja megkapni, és az előzőtől független feladat lesz, saját “zöld zászlóra kattintáskor” blokkal:
Már csak azt kell kitalálni, hogy mi történjen ilyenkor. Ha nem féltek a hangzavartól, akkor ahangadással is véget érhet a projekt:
- “Hangok” fülön “Válassz hangot”, majd hang kiválasztása a hangminta-tárból
- hang átnevezése
- “Hang” kategóriából a “játszd végig” blokk az új hanggal
- végül az összes futó folyamatot berekesztő “minden feladat álljon le” blokk:
Ha pedig néma projektekkel szeretnétek dolgozni, akkor “mondd” blokkot is használhattok:
Ha eddig eljutottatok, akkor már játszható projekttel zárjátok a foglalkozást. A továbbiak már csak a játékélményt fokozzák (és persze rengeteg hasznos programozási ismeretet is nyújtanak).
6. kezdőpozíció
Hogy ne kelljen a két szereplőt egérrel mozgatva elhelyezni indítás előtt, hasznos lesz, ha a “zöld zászlóra kattintás” után még egy “ugorj” blokkot is elhelyezünk mindkét szereplőnknél. De milyen számokat írjunk az x és az y koordináták helyére? Ráadásul lehet, hogy a résztvevők egy része esetleg még nem is ismeri a koordinátarendszert; és ha most nekiállunk matekozni, azzal nem hozzuk meg a kedvüket a programozáshoz.
Szerencsére a Scratch fejlesztői erre is gondoltak. Ha leraktok egy szereplőt a játéktéren valahova, a koordinátái azonnal meg fognak jelenni a mozgás-blokkokban. Így csak annyi a dolgunk, hogy a “Hősünk” szereplőt letegyük például a bal felső sarokba, az “Ellenség”-et pedig a jobb alsóba, a Scratch-szerkesztő által felkínált számértékekkel használjuk az “ugrás” blokkot:
Most már mindig a megfelelő helyről fognak indulni a szereplőink. És végül hogy nehogy a projekt indításakor, még a szereplők áthelyezése előtt bejelezzen az érintésfigyelés, oda pedig érdemes tennünk egy kis késleltetést:
7. Szereplők finomhangolása
Könnyebb lesz kikerülni az ellenséget, ha a szereplőink valamivel kisebbek. A méretet be tudjátok állítani a szereplő ikonja feletti adatlapon, ahol a szereplő nevét is:
Ugyanitt az “Irány” menüpontra kattintva átállíthatjátok a forgási stílust is, hogy lefelé haladva ne álljanak a fejük tetejére a szereplők:
De ezeket a tulajdonságokat blokkokkal is beállíthatjátok. Ez sokkal profibb megoldás, hiszen így a méretet és a forgási stílust később majd menet közben, egy projekt éppen aktuális állapotának megfelelően lehet majd beállítani:
8. Háttér és jelmezek
Most választunk valami izgalmasabbat a fehér háttér helyett. A háttérválasztás ikonját a jobb alsó sarokban találjátok:
A megjelenő háttértárból pedig válasszátok ki a legszimpatikusabb hátteret.
De még jobb, ha kipróbáljátok a Scratch grafikus szerkesztőjét. Ezzel nemcsak hátteret tudtok rajzolni, de a szereplők jelmezeit is átalakíthatjátok. A szerkesztőnek két üzemmódja van; az egyik bittérképes, mint a Paint; a másik pedig vektoros. Új jelmez rajzolásakor automatikusan a vektoros ugrik fel. Nem kell tőle megijedni; ugyanolyan intuitíven használható, mint a másik. Például néhány mozdulattal, két ellipiszisből baseballsapkát rajzolhatunk a szereplőnk fejére:
8. Időmérés
Befejezésképpen, hogy ne csak elveszíteni, hanem megnyerni is lehessen a játékot, ebiktatunk egy időmérő funkciót is. Az idő mondjuk 30 másodpercről indul, és folyamatosan csökken. Ha eléri a nullát, akkor megnyertük a játékot.
Az “idő” itt egy olyan számérték, ami folyamatosan változik. Az ilyen adatoknak nevet szoktunk adni; az “idő” névvel könnyen hivatkozhatunk rá akkor is, ha nem tudjuk pontosan, hogy éppen hány másodpercnél jár. Rengeteg hasonló szám vesz körül bennünket, amik időnként változnak, és névvel tudunk rájuk a legjobban hivatkozni: ilyen az osztály létszáma, az életkorunk, egy jármű sebessége, az évből eltelt napok száma, az idei év, és így tovább. Érdemes pár percet eltölteni a hasonló példák közös összegyűjtésével.
Az ilyen adatokat a programozásban változóknak nevezzük, és a Scratch-blokkok között külön kategóriájuk van. Vezessünk tehát be egy “idő” nevű változót:
A változó értéke kezdetben legyen 30; és utána összesen 30-szor csökkentjük 1-gyel. Ha ezzel megvagyunk (tehát nem állt le a projekt visszaszámlálás közben ütközés miatt), akkor nyertünk:
9. Pontgyűjtés
Ha még mindig marad időtök, egy újabb szereplő hozzáadásával folytathatjátok a munkát. Ez lesz a jutalom, amit a “Hősünk” szereplőnek menekülés közben be kell majd gyűjtenie. Az új szereplő kódjában semmi újdonság nem lesz, így klasszul tudjátok vele gyakorolni a korábbiakat. Mindenekelőtt a helye alakuljon véletlenszerűen, hogy izgalmas legyen a játék:
A jutalom begyűjtését is érintésfigyeléssel oldhatjuk meg, ami újra mneg újra megismétlődik:
És most jöhet a pontozás. A pont egy új változó, ami az időtől eltérően nulláról indul, és minden begyűjtéskor növekszik:
Végül a változók értékkijelzőjét érdemes a sarkokban elhelyezni, hogy játék közben ne takarják el a szereplőket: