alapozó címkével jelölt bejegyzések

Listák

Ebben a leckében megtanulod használni:

  • A listákat
  • variables8_131

A változók után ebben a leckében a listákkal ismerkedhetsz meg. A következő játékot készítjük el, melyben az irányítótorony által meghatározott város fölé kell repülni (ha odaértél, nyomd meg a szóköz billentyűt).

A listákban számokat vagy szövegeket tárolhatunk sorban egymás után. Új elem hozzáadásakor az elem a lista végére kerül, tehát ez a szerkezet hasonlít egy egyszerű bevásárló listához: ha eszünkbe jut valami, amit venni kell, a lista végére írjuk.

A listák létrehozása

Listákat is a változók csoportban hozhatsz létre a variables8_131 gombbal. A létrehozás ugyanúgy történik, mint változók esetén. A lista létrejötte után megjelennek a listakezelő parancsok:010203

A listák elemeit felveheted, törölheted és módosíthatod a program működése közben a fenti parancsok segítségével, vagy a játéktérben megjelenő listakezelőben is:04

Azt, hogy melyik listakezelési módot érdemes használni, mindig az adott probléma határozza meg.

A játék elkészítése

  • szereplők: repülő, irányítótorony (tőle kapja a repülő a következő célállomást), város (de ő csak hiba esetén jelzi célváros helyét). A hátteret és a szereplőket letöltheted.
  • változó: cél (a célállomás listabeli sorszámát tartalmazza)
  • listák: város (az európai fővárosok nevét tartalmazza), X_koordináta (a városok x koordinátáját tartalmazza), Y_koordináta (a városok y koordinátáját tartalmazza)
  • A játék: repülj a repülővel az irányítótorony által megadott város fölé, majd nyomd meg a szóköz billentyűt. Ha jó város fölé szálltál, akkor új feladványt kapsz. Ha rossz a találatod, akkor egy pillanatra felvillan a város helye, megmutatja, hová kell repülnöd.
  • Először hozd létre a listákat. A városok nevét és a megadott háttérhez tartozó koordinátáikat itt találod. Figyelj arra, hogy a város neve, x és y koordinátái az egyes listák ugyanolyan sorszámú helyére kerüljenek. Ha túl hosszúnak találod a listát, elég csak 5-10 város adatait megadnod belőle, a játék működését ez nem befolyásolja.

Az irányítótorony feladatai05A város feladatai06A repülőgép feladatai

A repülőgép irányítása tetszőlegesen megvalósítható. Egy feltételre kell figyelni: amikor a játékos megnyomja a szóköz billentyűt, akkor előfordulhat, hogy bár a repülő a megfelelő város fölött van, mégis téves üzenetet küld a program. Ez azért van, mert nagyon nehéz pontosan eltalálni a játéktér egy bizonyos koordinátájú pontját. A játék akkor is élvezetes marad, ha 10 pixelnyi “szabadságot” adunk a cél eltalálásakor:Clipboard01

Mentsd el a projektedet repcsi néven!

A kész játékot ide kattintva megtekintheted.

Írta és tervezte: Takács Valéria

Változók és véletlenszámok

Ebben a leckében megtanulod használni:

  • A változókat
  • variables1

Az eddig megismert módszerekkel nem lehet igazán izgalmas, „tétre menő” játékokat készíteni. Ebben a leckében végre megtudhatod, hogyan lehet például pontokat szerezni és időt mérni.

A következő játékot készítjük el:

Változó

A változó (az informatikában) legegyszerűbben megfogalmazva olyan hely a számítógépen, ahol valamilyen mennyiséget tárolunk. A változónak van neve és valamilyen értéke – ez az érték a program futása során változhat.

A változót úgy lehet elképzelni, mint egy dobozt, amelyben tárolhatunk valamilyen értéket. Amikor szükségünk van rá, akkor azt kivesszük és felhasználjuk, majd esetleg egy másik értéket teszünk vissza helyette.

Változók

A játék elkészítése

  • Szereplők: tátogó fej, színes labdák (könnyen megrajzolhatod, de le is töltheted őket)
  • Változó: pontszám
  • A szereplők mozgása, irányítása kissé eltér az eddigiektől. Erről a hajtás után, a véletlenszámok kapcsán olvashatsz.
  • A játék lényege, hogy a fejet irányítva 30 másodperc alatt (ennek megvalósítását Az óra című leckében találod) minél több pontot kell szerezni a véletlenszerűen mozgó színes labdák elkapásával. A fekete labda érintése pontlevonással jár.

Pontszámolás

  • A pontszám a játék indulásakor 0. Eggyel nő, ha a fej elkap egy színes labdát és eggyel csökken, ha hozzáér a feketéhez. Tehát a pontszám egy változó. Létrehozása:Változók

Változók2

  • Ekkor megjelenik a pontszám változó és a vele kapcsolatos parancsok a parancskészlet változók csoportjában, a játéktérben pedig a változó „kijelzője”. Ez háromféle lehet, a jobb egérgombbal kattintva előjövő helyi menüből választható ki, hogy melyik jelenjen meg a játéktérben. (ha nem szeretnéd, hogy a játéktérben megjelenjen a változó, tüntesd el a pipát a változó neve elől a parancskészletben):

Változók

  • Első lépésként állítsuk be, hogy a pontszám kezdetben 0 legyen. Ezt a feladatot adjuk pl. a játéktérnek (de mindegy, hogy melyik szereplő kapja ezt a feladatot).Clipboard03
  • Ha valamelyik színes golyó hozzáér a fejhez, akkor a pontszám nőjön eggyel:
  • A fekete golyó nem tűnik el érintkezéskor, így máshogyan kell megoldani a pontlevonást, különben több pontot is levonna, amíg áll. Ezért is van szükség a várakozásra, hogy addig a fej el tudjon menni a közeléből. Az érintkezés akár 1 Változókmásodpercig is eltarthat, ezalatt az idő alatt a program fut tovább – mindig érintkezést érzékel, így többször is levon egy pontot (pedig látszólag csak egyszer találkozik a két szereplő).
    A színes golyóknál ez azért nem probléma, mert az érintkezéskor azonnal eltűnnek és a láthatatlan szereplőkre nem működik az érintkezésvizsgálat. Tehát a fekete golyó feladatai:Fekete

Véletlenszámok

A játékban a labdák véletlenszerűen mozognak, a fej pedig egy kicsit „gyorsabb”, mint az eddigi főszereplőink. Most megtudhatod, hogyan lehet ezt megoldani.

A véletlenszámok nagy segítséget jelenthetnek a játékok elkészítésében. Segítségükkel megvalósítható például az „ellenségek” kiszámíthatatlan mozgása, amitől érdekesebbé válik a játék.

A Scratch-ben két szám közötti véletlenszámot adhatunk meg: numbers5

Ez a parancs ebben az esetben egy 1 és 10 közötti számot ad és mindegyiket egyforma eséllyel, ugyanúgy, mintha egy 10 oldalú dobókockával dobnánk. Persze az 1 és 10 helyett más számokat (vagy akár változókat) is megadhatsz. Ha mindkét szám (a tartomány végpontjai, amelyből véletlenül választ a program számot) egész, akkor eredményül is egész számot kapsz. Ha valamelyik végpont nem egész szám, akkor a kapott szám sem lesz az.

A mozgások megvalósítása

  • lássuk először a golyókat:Clipboard06
  • Ha ezek után lemásolod a szereplőt (hogy több golyó legyen a pályán), akkor minden golyó hasonló irányban fog mozogni, mivel ugyanarról a helyről indulnak és nem túl nagy tartományban mozog az elfordulásuk és a lépéshosszuk. Ez könnyen kiküszöbölhető, ha a golyók kezdőpozíciója is véletlen:Clipboard08
  • A fej irányításához – az eddigiekkel ellentétben – billentyűérzékelést használunk. Nézzük, miben különbözik ez a „sapkás” megoldástól.13
  • Tehát a fej irányítása:Clipboard09

Mentsd el a projektedet hamihami néven!

A kész játékot ide kattintva megtekintheted.

Írta és tervezte: Takács Valéria

Rajzoljunk

Ebben a leckében megtanulod használni:

  • pen9
  • tollszín
  • pen1
  • pen2
  • tollemel

A Scratch nem csak játékok és animációk készítésére alkalmas. Ebben a leckében egy egyszerű rajzolóprogramot állítunk össze.

A program elkészítése

  • A program lehetőségei: szín változtatása, tollméret változtatása, rajzok törlése és természetesen rajzok készítése.
  • Szereplők: színes pontok (színváltáshoz), + és – gombok (méret változtatásához), x gomb (rajzok törléséhez), tollhegy (rajzoláshoz). A tollhegy itt egy pici fekete pont, de természetesen más jelmeze is lehetne (pl. egy ceruza).
  • A program elkészítéséhez a parancskészlet Toll csoportját fogjuk használni.
  • Lássuk először a bal oldali sáv szereplőinek feladatait. Ők többnyire csak üzenetet küldenek a tollhegynek, hogy min változtasson (a színekből csak egyet mutatunk be példaképp):Eszközök
  • A tollhegy a megadott színnel és tollvastagsággal rajzol, ha lenyomva tartjuk az egér bal gombját, és nem rajzol, ha a gomb nincs lenyomva:Magyarázat
  • Reagálás a többi szereplőtől kapott üzenetre:

Üzenetek

  • Már csak az lehet probléma, hogy a szürke sávba is tudunk rajzolni. Ennek két megoldása van: az egyik, hogy a szürke sávot nem a háttérre rajzoljuk, hanem szereplőként hozzuk létre. Mivel a toll a háttérre rajzol, ez a szereplő azt el fogja takarni.
  • A másik megoldás egy feltétel beillesztése: a tollhegy csak akkor rajzoljon, ha az x koordinátája nagyobb, mint a szürke sáv jobb szélének ezen adata:Alternatíva

Mentsd el a projektedet rajztabla néven!

A kész játékot ide kattintva megtekintheted.

Variáció: Próbáld meg magadtól megvalósítani az alábbi játékot.

Írta és tervezte: Takács Valéria

Üzenetek

Ebben a leckében megtanulod használni:

  • üzenet
  • ekattintás

Többszereplős játékok esetén elengedhetetlen, hogy a szereplők valamilyen módon kommunikáljanak egymással. Erre valók a Scratchben az üzenetek. Először megismerheted a használatukat egy nagyon egyszerű programon keresztül, majd megmutatjuk, hogy hogyan teheted a segítségükkel teljesebbé a már elkészült játékaidat.

Ismerkedés az üzenetekkel

  • A játék szereplői: Anna (People/girl4-sitting), Bea (People/girl5) és a Fiú (boy4 laughing). A háttér letölthető.
  • A játék igen egyszerű: ha Annára kattintunk, akkor a Fiú Annára néz és közelebb lép hozzá, ha Beára kattintunk, akkor a Fiú felé néz és hozzá lép közelebb. Ezt üzenetek használatával valósíthatjuk meg, ugyanis szereplőink üzenetek küldésével érhetik el, hogy egy másik szereplő csináljon valamit.
  • A lányoknak csak egy feladatuk van: ha rájuk kattintunk, küldjenek üzenetet a fiúnak, hogy nézzen rájuk. Ez Anna esetében:

Üzenet

  • A Fiú pedig a „nézz Annára” üzenet érkezésekor (ami pontosan egy időben történik az üzenet küldésével) Annára néz és közelebb lép hozzá. (A Fiú forgási stílusát persze meg kell változtatni ahhoz, hogy ne álljon fejre akkor, amikor egyik lányról a másikra néz.)Nézz
  • Bea esetén ugyanezt kell tennünk. Tehát a lejátszódó üzenetküldés a következőképpen zajlik:

Nézés

Mentsd el a projektedet suli néven!

A kész játékot ide kattintva megtekintheted.

Variáció: Próbáld meg magadtól megvalósítani az alábbi játékot.

Írta és tervezte: Takács Valéria

Feltételek

A játékok jelentős részében a szereplők nem ugyanúgy viselkednek minden helyzetben. Ennek megvalósítására feltételekhez kötjük az egyes parancsok végrehajtását.

Ezt az egyszerű labirintusos játékot fogjuk elkészíteni, melynek célja, hogy a Gobo nevű szereplőt a sárga négyzetről a magenta színűre juttassuk anélkül, hogy a falhoz érnénk. A Lila szereplő ekkor örömmel kiáltson fel, hogy barátja megtalálta


Ebben a leckében megtanulod használni:

  • ha
  • hakülönben

A játék elkészítése

  • A háttér letölthető innen. Szereplők: Fantázia/Gobo (mérete az eredeti méret 40%-a), Fantázia/Hippo (mérete az eredeti 35%-a).
  • Gobo mozgatása tetszőleges (pl. a második leckében megismert is lehet). Ezúttal egy koordináta-rendszerre támaszkodót használunk, mivel a szereplő csak jobbra-balra, illetve fel-le mozog és az ilyen típusú mozgás az x és y koordináták változtatásával jól megvalósítható:Forgatás
  • Fontos, hogy a játék kezdetén Gobo a start (sárga) négyzeten álljon. Ehhez a következő feladatot kell adnunk neki:

UgrásA játék lényege, hogy a szereplőnek úgy kell végigmennie a labirintuson, hogy nem érhet hozzá a falhoz. Azonban Gobo ezt most gond nélkül megteszi. Ennek megakadályozásához arra lenne szükség, hogy ha falhoz ér, akkor „kapjon büntetést”, pl. kezdje újra a játékot.
Ezt a Ha paranccsal valósíthatod meg:

Fel

A szereplő feladatai tehát:

Feladatok

Egymásba ágyazás

A lila szereplő ha nem érintkezik Goboval, akkor folyamatosan egy helyben forog. Különben (a Goboval való érintkezéskor) azt mondja, hogy “Megtaláltál!”.

Ennek megvalósításához több parancs egymásba ágyazására van szükség. Ilyennel már találkoztál a ciklusoknál is, amikor a ciklus belsejébe illesztetted a parancsokat. Ennek a leckének az első felében pedig a ha parancs feltételét kellett megadnod beillesztés segítségével.

A szereplő feladatai:

Feladat

Ezt a feladatot a következőképpen rakhatod össze:

Ágyazás

A ha…különben parancs két ágába helyezett parancsok felcserélhetők, ha a feltételt tagadod. Így a két feladat hatására ugyanazt csinálja a szereplő:

Egymásba ágazás

Mentsd el a projektedet labirintus néven!

A kész játékot ide kattintva megtekintheted.

Variáció: Próbáld meg magadtól megvalósítani az alábbi játékot.

Írta és tervezte: Takács Valéria

Ismétlődések

Az előző leckében a szereplő akkor tett meg valamit, ha leütöttünk egy billentyűt. Most megmutatjuk, hogy szereplőink beavatkozás nélkül is tudnak feladatokat elvégezni.

Egy olyan programot készítünk, amelyben egy napsütéses délutánon egy kutya végigsétál a képernyőn

 


Ebben a leckében megtanulod használni:

  • várj
  • kattintásakor
  • mindig

Ciklusok

A ciklusok ismétlődő tevékenységek megvalósítására szolgálnak. Ebben a leckében két ciklusfajtával ismerkedhetsz meg:

Ciklusok

Most lássunk egy példát is a parancsok használatára. Egy olyan programot készítünk, amelyben egy napsütéses délutánon egy kutya végigsétál a képernyőn.

A program elkészítése

  • Szereplők: Nap (a jelmezeit letöltheted), Kutya (jelmezei: Állatok/dog2-b, Állatok/dog2-c)
  • A parancsok végrehajtása a zöld zászlóra kattintáskor indul, tehát a Kapcsoló sapkához kapcsoljuk őket.
  • A Nap a program indításától kezdve folyamatosan – mindig – változtatja a jelmezeit, tehát az ő feladata:

MindigA Kutya nem ismétli végtelen sokszor a feladatát: elindul, megy egy darabig – valahányszor megismétli a Menj 10 lépést parancsot – majd megáll. Az ő feladata:Feladat

Mentsd el a projektedet kutya néven!

A kész játékot ide kattintva megtekintheted.

Variáció: Próbáld meg magadtól megvalósítani az alábbi játékot.

Írta és tervezte: Takács Valéria

Ismerkedés a Scratch környezettel

Ebben a leckében megtanulod használni:

  • A Scratch program kezelőfelületét

 

A Scratch mesék és játékok készítésére alkalmas programozási környezet. A következőkben megtanulhatod a kezelésének első lépéseit.
A Scratch indításakor ez a kép látható:

Kezdő kép

A Szereplők

A Scartchben a játékok, animációk szinte elképzelhetetlenek szereplők nélkül, ezért fontos megismerni a kezelésüket. Kezdetben egyetlen szereplő van a játéktérben, a képen látható macska. Ezen könnyen változtathatsz: néhány kattintással új szereplőket tölthetsz be vagy módosíthatod a már meglévőket. Ehhez a játéktér alatti, illetve a programozási tér jelmezek fülén lévő gombokat használhatod.

Szereplők

Aktív szereplőJelmezek

Új háttér betöltése

Ahhoz, hogy egy animáció vagy egy játék szép és élvezetes legyen, fontos a megfelelő háttér. Ez általában nem fehér, szóval változtasd meg! Mivel a háttér valójában a Scratch egy speciális szereplője, ezért a kinézetének módosítása hasonlít a szereplők változtatásához, tehát nem lesz nehéz dolgod:

  • Kattints a játéktér alatti mezőben a fehér téglalapra (ez most a beállított háttér)
  • a programozási környezetben válaszd ki a hátterek fület
  • itt megjelennek a szereplőknél megismert lehetőségek:

HáttérÍrta és tervezte: Takács Valéria