06 70 451 7867
hello@skool.org.hu

Forgós játék

26 szept 2019

Forgós játék

How Can We Help?
Itt jársz:
← Vissza

 

Nehézség

(majdnem kezdő: azoknak, akik Scratcheztek már legalább egyszer)

Korosztály

 (hatodik-hetedik-nyolcadik osztály)

Elkészítési idő

90 perc a teljes projekthez (45 perc az 5. lépés végéig, az első játszható változathoz)

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 népszerű telefonos játék, a Duet egyszerűsített Scratch-es változata. A játékos feladata az, hogy két pont forgatásával kikerülje az egymás után érkező, egyre nehezebb akadályokat. A kész projektet itt találjátok meg. Az elkészítést nyolc lépésre bontottuk; a játék első játszható változatához az az első ötre van szükség.

Az elkészítés lépései

1.  A projekt megnyitása

Nyissátok meg a projekt kezdő változatát a Scratch szerkesztőjében. Itt éritek el; ha offline dolgoztok, a foglalkozás előtt tegyétek fel a gépekre. Ez tartalmazza az összes grafikai elemet és a kódok egy jelentős részét. Mutassátok be a résztvevőknek a kész változatot, de ezt ne osszátok meg, hogy megmaradjon a motiváció.

Ha a nyelv angolra van állítva, váltsatok magyarra a földgömb-ikonra kattintva. A projekt szerkesztéséhez pedig kattintsatok a “Megnézem belülről” gombra.

2. A két pötty irányítása

A pöttyöket a nyíl-billentyűkkel forgatjuk (vagy A-val és D-vel, ha valakinek jobban tetszik a gamer irányítás.) A forgatásra van egy külön mozgás-blokk a Scratch-ben. A legegyszerűbb megoldás a billentyűzetfigyelő eseményblokkok használata:

Ennek a kódnak hamar meg fognak mutatkozni a korlátai: a pontok forgása szaggatott lesz, és így a nehezebb akadályokat már nagyon nehéz lesz kikerülni. Profibb megoldás, ha a “start üzenet érkezésekor” blokkal már megkezdett kódot folytatjátok:

És természetesen nem csak egyszer, hanem folyamatosan kell figyelni a billentyűnyomást:

Ha természetesebb “ha-akkor” blokkot használni, az is tökéletes, az eredmény ugyanaz lesz:

Hány fokot forduljanak a pontok egyszerre? Az alapértelmezett érték 15 fok, ami túl gyors. Az ideális érték valahol 5 és 10 között van; hogy pontosan mennyi, az az akadályok sebességétől is függ, tehát érdemes később kalibrálni. Egyáltalán nem baj, ha a résztvevőknél más és más értékek vannak.

Az akadályok csóva-effektjének és a háttérben lévő szürke árnyék-akadálynak nincs szerepe a játékban; ezek csak látvány-elemek. Ha van kedvetek, nézzetek bele az “effektek” szereplő kódjába, hogy lássátok, ezek hogy működnek.

3. Az akadály mozgása másolatkészítés nélkül

Az akadály fent középen jelenik meg, és alul középen távozik. Mivel itt számít a koordináták pontos értéke, érdemes ideiglenesen átváltani a koordinátarendszeres háttérre, amit bekészítettünk a projektbe (a szereplő-ikonok mellett a játéktér ikonjára kattintva, azután baloldalt a “Hátterek” fülre, és ott a második, “x-y” nevű háttérre:

 

Innen le tudjátok olvasni, hogy felül középen x értéke 0, y-é pedig 180, tehát ezeken a koordinátákon kell megjelennie az akadálynak:

A megjelent akadály lefelé végigcsúszik a játéktéren, és alul középen fog távozni. A koordinátás háttérről láthatjátok, hogy itt x értéke még mindig 0, y-é viszont már -180: 

Ezeket a kódokat kell a már meglévőkhöz illeszteni. Természetesen azt szeretnénk, hogy folyamatosan jöjjenek az akadályok, ezért érdemes a mozgás-blokkokat egy “mindig” blokkal körülvenni:

Később a “mindig”-et majd le fogjuk cserélni, de egyelőre tökéletesen megfelel.

A csúszás idejét megint csak érdemes próbálgatni. Az alapértelmezett 1 másodperc biztosan túl gyors; az ideális érték valahol 3 és 8 másodperc között van. Hogy pontosan mennyi, az a pontok forgásának tempójától is függ. Érdemes most egy-két percet eltölteni az értékek kalibrálásával. Nem cél az, hogy mindenkinél pontosan ugyanazok legyenek az értékek.

4. Jelmezváltás és pontozás

Ha most elindítjátok a játékot, azt láthatjátok, hogy újra meg újra az első akadály fog lehullani. Ha belenéztek az akadály jelmezeibe (baloldalt a “Jelmezek” fül), láthatjátok, hogy a következő akadáky mindig a következő jelmezen lesz. Tehát a “következő jelmez” blokkot érdemes használni. Hogy izgalmasabb legyen a játék, a pontszámot is érdemes növelni. Az erre való blokkot is hamar meg fogják találni a résztvevők, hiszen ugyanolyan színű, mint a “pont legyen 0” blokk, ami már benne van a kódban. A két új blokkot illesszétek be a meglevő kódba:

5. Érintésfigyelés és vesztés

Most már a két pont és az akadályok is megfelelően mozog, de a játéknak nincs még tétje, hiszen a pontok átmennek az akadályokon. Valójában azt szeretnénk, hogy az akadály érintésekor érjen véget a játék, és jelenjen meg a “Vége” felirat. A “felirat” szereplőre kattintva láthatjátok, hogy a felirat a “vége” üzenetre fog megjelenni. Tehát ezt az üzenetet kell elküldeni, amint az érintés bekövetkezik:

Ha eddig eljutottatuk, már játszható játékkal, sikerélménnyel tudjátok zárni a foglalkozást. A következő lépések még teljesebbé teszik a játékélményt, de szükség esetén bármelyiket elhagyhatjátok.

6. Szintek és nyerés

Az “akadály” szereplőnek összesen 18 jelmeze van. Ahhoz, hogy nyerjünk, ezt a 18 akadályt kell sikeresen elkerülnünk. Tehát a “mindig” blokk helyett elég egy “ismételd” blokk (nem az “ismételd eddig”, gyakori hiba, hogy egy-egy résztvevő összekeveri  a kettőt!), az alapértelmezett 10 helyett 18 paraméterrel:

Ha pedig még alaposabban szemügyre veszitek az akadályokat, azt is észrevehetitek, hogy hármas csoportokban vannak, és ezt a nevük is tükrözi: “1 1”, “1 2”, “1 3”, “2 1”, “2 2”, “2 3” stb. Tehát összesen hat szint van 3-3 akadállyal. Tehát három ismétlés után nő egyet a szint:

Ha idáig eljutottatok, legyetek büszkék magatokra. Most már beágyazott ciklusokkal is tudtok dolgozni, mint a profi programozók.

Az aktuális szintet a háttérben forgó szintjelző mutatja. Ha van kedvetek, nézzetek bele ennek a kódjába is, hogy lássátok, hogy működik.

7. Másolatkészítés

Pergősebb lenne a játék, ha az egymás utáni akadályok nem várnák ki a sorukat, hanem amikor az egyik már a játéktér alsó felénél jár, elindulna a másik. Ezt a Scratch-ben másolatkészítéssel tudjuk megoldani. Másolatkészítéssel egy szereplőt annyi példányban tudunk sokszorosítani, amennyiben csak szeretnénk. A célunk az, hogy az eredeti akadály-szereplőből újra meg újra létrehozzunk egy új másolatot, és azt indítsuk útjára. A kódnak abban a részében tehát, ahol eddig az akadályt mozgattuk, a mozgatás-blokkok helyére a másolatkészítés kerül:

A mozgatás-blokkok új helye pedig a “másolatként kezdéskor” blokknál lesz. A megérkezett másolatokat érdemes törölni, hogy ne gyűljenek össze a játéktér alján:

A másolatkészítés technikája nagyon hasznos a játékok és az animációk programozásában. Ez a technika a felnőtt programozásban dinamikus objektumgenerálás néven ismert, és az objektumorientált programozás egyik eleme. A Scratch objektumorientált nyelv; ez az egyik olyan vonása, ami kiemeli a többi gyerekek számára készült programnyelv körül.

8. Utolsó három akadály forgatása

A szinteknek nincs nagy jelentősége a játékban; kivéve az utolsót, ahol már az akadályok forogni is fognak. Ha a 7-es lépésre már sort kerítettetek, akkor a forgás kódját egy újabb “másolatként kezdéskor” blokkal vezessétek be. Hogy a hatodikszint előtt még ne legyen forgatás, szükségetek lesz egy “ha-akkor” blokkra is. A feltétel pedig az, hogy a szint éppen a ahtodik legyen. Felnőtt fejjel egyértelmű, hogy az “éppen a hatodik legyen”-t egyenlőségjellel vezessük be; de gyerekként nem feltétlenül az, tehát könnyen lehet, hogy a résztvevőket rá kell majd vezetni a megoldásra:

Természetesen a számértéket itt is érdemes próbálgatni; a 2 csak egy lehetőség. De próbálgatni csak akkor tudunk, ha már eljutottunk erre a szintre, ami nem is olyan könnyű, és mindenképpen időigényes. Ezt áthidalhatjátok azzal, ha a kezdőértékeket ideiglenesen átállítjátok a kód elején:

Ha készen vagytok a kalibrálással, majd ne felejtsétek el ezeket visszaállítani.

Previous Kerülgetős játék
Next Sejtosztódás
Table of Contents

Leave a Reply