Ugrás a tartalomhoz

Algoritmizálás, programozás, robotika

Lecke terület kezdete

Programozzunk micro:biteket!

A micro:bit eszköz egy kiegészítő kártyába illesztve, működés közben. A LED-ek egy x-et rajzolnak ki.

A micro:bit eszközt többféle blokkprogramozási környezetben programozhatjuk (például Scratch, MakeCode stb.). Nyissuk meg az általunk használt alkalmazást! Ismétlésként készítünk egy, a korábban megvalósított kő, papír, olló játékhoz hasonló alkalmazást.

Gyűjtsünk pontokat!

Egy pontgyűjtő játék táblája.
Pontgyűjtő játék táblája

A pályán az X jelzi a kiindulási helyzetünket. Az egyes négyzetekben különböző pontszámokat láthatunk. Készítsünk olyan programot, amely véletlenszerűen meghatározott útvonalon vezet végig minket a pályán!

A micro:bit megrázásakor törlődjön le a kijelző, majd egy másodperc múlva véletlenszerűen jelenjen meg egy felfelé, jobbra, lefelé vagy balra mutató nyíl!

Rázzuk meg az eszközt, és haladjunk a micro:bit által jelzett irányba egy lépést, de csak akkor, ha még nem értük el a falat! Számoljuk össze, hogy tíz rázás után hány pontot gyűjtöttünk össze! Hasonlítsuk össze a pontjainkat! Ki volt a legszerencsésebb az osztályban? Kísérletezzünk! Hányszor kell megrázni az eszközt ahhoz, hogy olyan mezőre lépjünk, amely 100-as pontszámot rejt?

Készítsünk animációt!

Színes grafika tíz sportoló vázlatos képével. Mindegyik más sportágat űz.

Készítsünk olyan animációt, amely valamelyik kedvenc sportágunkkal kapcsolatos! Ennek során használhatunk ikonokat, számokat és szövegeket is!

Animáció több kijelzőn

Alakítsunk háromfős csoportokat! Készítsünk olyan animációt, amelyhez mindhárom micro:bitre szükség lesz! Az animáció legalább 10 másodperc hosszú legyen! Az animáció induljon el az egyik micro:biten, majd folytatódjon a másikon! Egy ilyen animáció lehet például az, hogy egy nyílvessző balról jobbra átrepül a három micro:bit kijelzőjén.

Rajzoljunk a kijelzőre!

A micro:bit kijelzőjét alkotó LED-ek öt sorban és öt oszlopban vannak elrendezve. Korábban csak ikonokat jelenítettünk meg ezen a kijelzőn. Hogyan tudnánk egyenként felkapcsolni, illetve lekapcsolni a LED-eket?

P pont helyzetének szemléltetése első és második jelzőszámával egy koordináta rendszerben.

Matematikaórán már tanultunk a derékszögű koordináta-rendszerről, amelyet két, egymásra merőleges számegyenes alkot. Tudjuk, hogy a számegyeneseket x tengelynek, illetve y tengelynek nevezik. A tengelyek közös pontja az origó. Az egyes pontok helyzetét a koordinátáikkal adhatjuk meg. A koordináták sorrendje nem cserélhető fel, először az x tengelyre vonatkozó jelzőszámot, majd az y tengelyre vonatkozó jelzőszámot kell megadnunk! A két jelzőszámot kerek zárójelek közé kell tennünk, és pontosvesszővel kell egymástól elválasztanunk!

Egy micro:bit eszközön jelölve vannak LED-ek koordinátái. Az első számjegy az oszlopot, a második a sort jelöli.
A micro:bit LED-ek koordinátái

A micro:bit LED-kijelzőjének pontjait is egy koordináta-rendszer alapján tudjuk azonosítani. Ez a koordináta-rendszer viszont speciális. Itt a bal felső sarok az origó. A pontok jelzőszámai pedig csak a 0, 1, 2, 3 és 4 értékek lehetnek.

Az x tengely értékei jobbra nőnek, az y tengely értékei pedig lefelé. Az x tengely tehát az egyes oszlopokat, az y tengely a sorokat jelenti.

A bal felső sarok koordinátája a (0;0), a jobb felső saroké (4;0), a középső ponté (2;2), és így tovább.

A LED kategória blokkjai a MakeCode környezetben.
A LED kategória blokkjai a MakeCode környezetben

A micro:bit kijelzőjén lévő pontokat felkapcsolhatjuk, lekapcsolhatjuk, illetve átválthatjuk az ellenkező állapotukba. Ez azt jelenti, hogy ha a LED fel volt kapcsolva, akkor lekapcsolódik, ha le volt kapcsolva, akkor pedig felkapcsolódik.

A LED állapotát lekérdezhetjük az x és y koordináta megadásával. A „led állapota x y” blokk igaz értéket ad vissza akkor, ha fel van kapcsolva az adott koordinátájú pont, és hamisat, ha nem.

Feladatok szekció

Feladatok

  1. Állítsuk elő az alábbi ábrákat! A LED-eket a koordinátájuk alapján kapcsoljuk fel!
    Egy micro:bit eszközön a négy sarokban és középen világít egy-egy LED.
    Egy micro:bit eszköz közepén egy kis, élére állított négyzetet jelenít meg négy LED.
    Egy micro:bit eszközön középen, egy függőleges vonalat jelenít meg öt LED.
    Egy micro:bit eszközön a bal felső saroktól a jobb alsóig egy átlós vonalat jelenít meg öt LED.
  2. Készítsünk olyan animációt, amelyben a bal felső sarokban felkapcsolódik a LED, majd jobbra halad, amíg a jobb felső sarokba nem ér!
    Egy micro:bit eszközön a bal felső sarokban egyetlen LED világít.
    A pont eltűnése és a szomszédos helyen való megjelenése között egy másodperc teljen el!
    Hogyan kell módosítani a kódot ahhoz, hogy jobbról balra történjen a mozgás? Mi történik akkor, ha felcseréljük a koordinátákat?
  3. Gondoljuk át, hogy mit eredményez az itt látható kód! Mi történik akkor, ha az y paraméter értékének a hármas értéket állítjuk be?
    Az ábrán egy kód látható.
  4. Készítsünk olyan programot, amely az A gomb lenyomásakor a kijelző véletlenszerűen kiválasztott koordinátáján felkapcsol egy LED-et!
  5. Változtassuk meg a véletlenszám blokk paramétereit úgy, hogy csak az ábrán jelölt pontok lehessenek felkapcsolva!
    Minta az 5. feladathoz. Az ábrán egy Micro:bit látható 6 felkapcsolt LED-del. Ezek a felkapcsolt LED-ek a második sor közepén 3 darab, a 3. sor közepén 3 darab elrendezésben találhatók a Micro:bit lapkán.
    Nyomjuk meg annyiszor a gombot, hogy mind a 6 pont fel legyen kapcsolva!
    Jegyezzük fel, hogy hányszor kellett ehhez lenyomnunk a gombot! Végezzük el többször a kísérletet! Mit tapasztaltunk?
    Beszéljük meg, hogy mi volt a kapott legkisebb, illetve a legnagyobb érték az osztályban a próbálgatások során!
Feladatok szekció vége

Fontos tapasztalat: Ha véletlenszerűen választunk ki pontokat, akkor előfordulhat, hogy ugyanazt a pontot többször is kiválasztjuk.

Szimuláljuk egy parkolóház működését!

Parkolóház, ahol a parkolóhelyek felett zöld vagy piros lámpa jelezi, hogy szabad-e a parkoló vagy sem.

Jártál már olyan parkolóházban, ahol a parkolóhelyek felett zöld vagy piros lámpa jelezte, hogy szabad-e a parkoló vagy sem? Ez egy nagyon hasznos segítség az autósok számára, mert már messziről észrevehetik a szabad helyeket.

Gondoljuk át, hogy milyen érzékelőkkel lehetne eldönteni, hogy az adott parkolóhelyen áll-e autó vagy sem! (Több helyes megoldás is létezik.)

A következőkben olyan feladatokat oldunk meg a micro:bit segítségével, amelyek az autók parkolásával kapcsolatosak.

Egy áruházhoz szabadtéri parkoló tartozik, amelyben öt sorban és öt oszlopban vannak elrendezve a parkolóhelyek.

Feladatok szekció

Feladatok

  1. Készítsünk olyan programot, amely a piros LED-ek felkapcsolásával jelzi, hogy mely helyek foglaltak a parkolóban! Ne feledjük, hogy a parkolóhelyek öt sorban és öt oszlopban vannak elrendezve!
    Az A gomb hatására tizenötször válasszon a program véletlenszerű koordinátát, és kapcsolja fel az ezekhez tartozó LED-eket!
    Parkolóban két sorban állnak az autók. Mindkét sorba 7 autó fér el, de soronként két-két hely üres.
  2. Az áruház bejáratához legközelebb eső parkolóhely a mozgáskorlátozott személyek számára van fenntartva. Ennek koordinátája: (0;0). Készítsük el azt a programot, amely a B gomb megnyomásakor megjeleníti a✓ ikont, ha szabad ez a parkoló, és az X ikont, ha foglalt!
    Figyeljünk arra, hogy az ikon megjelenítése előtt töröljük le a kijelzőt!
    Két micro:bit eszköz közül az elöl lévőn x-et, a mögötte állón pedig egy pipát jelenítenek a bekapcsolt LED-ek.
Feladatok szekció vége

Keressünk szabad parkolót!

Egy okostelefonra rajzolt parkolóban két autó áll, de van két szabad hely is. Az egyik szabad helyet a térképeknél megismert fordított esőcsepp alakú ikon jelzi.

Nem csak a zöld és piros jelzőfény segítheti a parkolást. Használhatnánk mobilalkalmazást a szabad helyek megjelenítésére. Vagy elhelyezhetnénk a parkoló bejáratánál egy gombot, amelyet megnyomva a sofőr láthatná, hogy a parkoló melyik sorának hányadik helyén (oszlopában) van szabad hely.

Hogyan oldhatnánk meg ezt a feladatot az eddigi ismereteink alapján? Gondolkodjunk együtt!

Először válasszunk ki egy helyet véletlenszerűen! Ha ez a hely szabad, akkor jegyezzük fel a koordinátáját, ha foglalt, akkor válasszunk újra egy helyet véletlenszerűen! Ezt ismételjük addig, míg nem találunk üres helyet!

Játsszuk el az algoritmust!

Program
  x:=véletlenszám(0 és 4 között)
  y:=véletlenszám(0 és 4 között)
  ismételd amíg az (x;y) nem szabad!
    x:=véletlenszám(0 és 4 között)
    y:=véletlenszám(0 és 4 között)
  ismétlés vége
  szabad_x:=x
  szabad_y:=y
Program vége

Itt láthatjuk a szabad parkolóhely keresésének egyik algoritmusát.

Párokban játsszuk végig az algoritmus működését!

Egyikünk rajzoljon fel egy 5 × 5-ös területet a füzetébe tíz szabad hellyel úgy, hogy a másik ne lássa! A másikunk mondjon két véletlenszerűen kiválasztott számot 0 és 4 között! Döntsük el a felrajzolt ábra alapján, hogy az adott helyen szabad-e a parkoló, vagy sem! Ismételjük ezt addig, míg a társunk nem mond olyan koordinátákat, ahol szabad hely van! Jegyezzük fel a megtalált üres hely koordinátáit! Hány próbálgatásból sikerült szabad helyet találni?

Beszéljük meg, hogy milyen hátránya van annak, hogy a helyeket véletlenül választjuk ki, nem pedig sorba megyünk végig az egyes helyeken!

A továbbiakban készítsünk olyan programokat, amelyekben felhasználjuk ezt az algoritmust!

Feladatok szekció

Feladatok

  1. Legyen majdnem tele a parkolónk, csak egy üres helyet hagyjunk meg! (Most ne egyenként kapcsoljuk fel a LED-eket, használjuk a ledek bekapcsolása blokkot!) Írjunk olyan programot, amelyben a micro:bitnek kell megtalálnia a szabad helyet! Az A gomb megnyomásakor induljon el a szabad hely keresése! Amikor sikerült megtalálni az üres helyet, akkor töröljük a kijelzőt, és jelenítsük meg a kijelzőn a két koordinátát egymás után!
    A LED-ek bekapcsolását végző blokk, amelyen a harmadik sor második LED-jének kivételével valamennyi be van kapcsolva.
  2. Módosítsuk úgy az algoritmust és a programot, hogy nyilván tudjuk tartani azt is, hogy hány próbálkozásból találta meg a micro:bit az üres parkolóhelyet! A koordináták kiírása utána ez a szám is jelenjen meg! Próbáljuk ki ötször egymás után a programot, és jegyezzük fel a próbálkozások számát! Mi volt a legkisebb és a legnagyobb szám?
    Sötétszürke korong, amelyen 1 és 100 közötti számok véletlenszerűen helyezkednek el. A számok színe és írásiránya is véletlenszerűen változik.
  3. Készítsünk olyan programot, amely mindig pontosan huszonkét pontot kapcsol fel a kijelzőn!
    Egy micro:bit eszközön az első oszlop utolsó, az első sor középső és az utolsó oszlop középső LED-je kivételével valamennyi világit.
  4. Írjunk olyan programot, amelyben egy autót jobbra és balra mozgathatunk a képernyőn a micro:bit jobbra és balra döntésével. Az autó kezdetben a kijelző közepén legyen!
    Két ábra, melyek a Micro:bit jobbra és balra döntését szemléltetik.
Feladatok szekció vége

Összetett feltételek megfogalmazása logikai műveletekkel

Korábbi tanulmányainkban már megismerkedtünk az egyszerű és többirányú elágazásokkal. Ezek használatával az utasítás vagy utasítások végrehajtását feltételhez tudjuk kötni. Az elágazásban megadott feltétel akár összetett feltétel is lehet. Ilyeneket nagyon gyakran használunk az algoritmizálás és a programok készítése során. Nézzünk néhány mondatot az összetett feltételek szemléltetésére!

Ha hazaérsz 4 óráig, és jó az idő, (akkor) vidd el a kutyát sétálni!

Egy kutya áll az ajtóban, szájában a pórázzal. Indulásra kész.

A mondat két feltételt és egy logikai műveletet tartalmaz. Ez alapján a kutyát csak akkor kell elvinnünk sétálni, ha egyszerre teljesül az, hogy 4 óráig hazaérünk és jó az idő. A bemeneti feltételek teljesülését (igaz) és nem teljesülését (hamis) az alábbi táblázatban foglaltuk össze. A logikai művelet eredménye (a kimenet) az utolsó oszlopban látható.

Bemenet Bemenet Kimenet
Első feltétel:
Hazaérünk 4 óráig.
Második feltétel:
Jó az idő.
Igaz az első ÉS a második feltétel?
Ha igen, akkor visszük a kutyát sétálni.
igaz igaz igaz
igaz hamis hamis
hamis igaz hamis
hamis hamis hamis

A fenti táblázatból jól látszik, hogy az ÉS logikai művelet eredménye (a kimenet) csak akkor igaz, ha mindegyik bemeneti állítás igaz. Láthatjuk, hogy a bemenet és a kimenet is igaz vagy hamis értéket vehet fel. Ez tehát olyan adat, amely az úgynevezett logikai adattípusba tartozik.

Egy  beteg kislány fekszik az ágyban. Nyaka körül sál. Fején borogatás. Női kéz mellette lázmérőt tart.

Most nézzük az alábbi mondatot!

Ha lázad van vagy köhögsz, (akkor) maradj otthon!

Bemenet Bemenet Kimenet
Első feltétel:
Lázunk van.
Második feltétel:
Köhögünk.
Igaz az első ÉS a második feltétel?
Ha igen, akkor otthon kell maradnunk.
igaz igaz igaz
igaz hamis igaz
hamis igaz igaz
hamis hamis hamis
A VAGY logikai művelet táblázata

Láthatjuk, hogy a VAGY logikai művelet kimenete akkor lesz igaz, ha valamelyik állítás igaz volt. Hamis csak akkor lesz, ha mindegyik állítás hamis volt.

Három gyerek és szüleik a zöld réten, napsütésben, vidáman bicikliznek együtt.

Lássunk egy példát a tagadásra is!

Ha nem esik az eső, (akkor) elmegyünk biciklizni!

Bemenet Kimenet
Feltétel:
Esik az eső?
Igaz a feltétel tagadása?
Ha igen, akkor elmegyünk biciklizni.
igaz hamis
hamis igaz
A NEM (más néven tagadás) logikai művelet táblázata

Láthatjuk, hogy a NEM (tagadás) művelet kimenete akkor lesz igaz, ha a bemeneti állítás hamis volt.

Feladatok szekció

Feladat

Fogalmazzunk meg mi is olyan mondatokat, amelyek az ÉS, VAGY, NEM logikai műveletekre mutatnak példát!

Feladatok szekció vége

Rajzoljunk ki pontokat összetett feltételek alapján!

Logikai műveletek blokkjai a MakeCode felületen.
Logikai műveletek blokkjai a MakeCode felületen

A következőkben olyan ábrákat készítünk, amelyekben a LED-eket koordinátáik szerint fogjuk fel- és lekapcsolni. Azt, hogy melyik pont legyen felkapcsolva, különböző feltételek segítségével fogalmazzuk meg.

Feladatok szekció

Feladatok

  1. Készítsük el azt a programot, amelyet a további feladatok során módosítani fogunk! Az A gomb megnyomásakor törlődjön a kijelző! Ezt követően ezer alkalommal válasszunk véletlenszerűen sor- és oszlopkoordinátát nulla és négy között, majd kapcsoljuk fel az ezen a koordinátán lévő LED-et! Mit tapasztalunk a program kipróbálásakor és miért?
  2. Módosítsuk úgy a programot, hogy csak akkor rajzoljuk ki a pontokat, ha bizonyos feltételek teljesülnek! Az alábbi példában azt látjuk, hogy csak akkor rajzoljuk ki a pontot, ha a sor értéke egy, vagy az oszlop értéke kettő. Először gondoljuk át, hogy vajon milyen ábra jelenik meg a kijelzőn! (A továbbiakban tegyük fel, hogy a micro:bit minden pontot kiválaszt véletlenszerűen a rajzolás során!) Próbáljuk ki a programot a gyakorlatban is!
    Összetett feltétel a pont felkapcsolásához.
    Összetett feltétel a pont felkapcsolásához
  3. Módosítsuk a VAGY logikai műveletet ÉS logikai műveletre! Mit gondolunk, hogyan változik meg az ábra? Próbáljuk ki a gyakorlatban is!
  4. Hogyan tudnánk előállítani az alábbi ábrákat összetett feltételek használatával? Próbáljuk ki a gyakorlatban is az elgondolásunkat!
    Egy micro:bit eszköz kijelzőjén az második sor és a középső oszlop kivételével minden LED világít.
    Egy micro:bit eszköz kijelzőjén az első sorban és az utolsó oszlopban minden LED világít.
    Egy micro:bit eszköz kijelzőjén a bal felső sarokban három sorban három, három LED világít.
    Egy micro:bit eszköz kijelzőjén a legalsó és legfelső sorok valamennyi LED-je világít.
  5. Jelenítsünk meg érdekes ábrákat összetett logikai feltételek alkalmazásával! Alakítsunk párokat, és fejtsük meg, hogy a párunk micro:bitjén látható ábra kirajzolásához milyen logikai feltételeket kellett beállítani!
Feladatok szekció vége

Irány a világűr!

A továbbiakban is a micro:bit kijelzője lesz a főszereplő. Előszőr megnézzük, hogyan lehetne a hullócsillagok mozgását szimulálni. Ezt a tudást felhasználva pedig egy olyan játékot készítünk, amelyben egy űrhajót kell átvezetnünk a kisbolygók (aszteroidák) között.

Nézzünk hullócsillagokat!

Egy kislány és egy férfi ül a fűben. A férfi az égen átsuhanó hullócsillag irányába mutat jobb kezével.

Mielőtt elindulnánk a világűrbe, vessünk egy pillantást az égboltra, hátha látunk hullócsillagokat!

Készítsünk olyan programot, amelyben a micro:bit kijelzőjének felső sorában véletlenszerűen kiválasztott helyen megjelenik egy meteor, amely aztán lefelé mozog a legalsó sorig, majd eltűnik!

Ezt a programot akár a korábban bemutatott módszerrel, a LED-ek egyenként történő fel- és lekapcsolásával is megvalósíthatnánk. Most azonban egy másik módszert mutatunk be, amellyel egyszerűbben megoldhatjuk ezt a feladatot.

Ha egy grafikus programozási környezetben (például Scratch) készítenénk el a programot, akkor megváltoztatnánk a szereplő alakját egy meteor alakra. Beállítanánk a szereplő irányát úgy, hogy lefelé nézzen, és előreléptetnénk megadott lépéssel addig, míg el nem éri a képernyő alját. Vagyis a szereplőt nem a koordináták beállításával mozgatnánk, hanem az előre-hátra parancsok és az irányváltások segítségével.

A játékkategória ikonja. Mellette "Játék" felirat.
Játék kategória a MakeCode felületen

Ugyanezt megtehetjük a micro:bit kijelzőjén is. A szükséges blokkokat a Játék kategóriában találjuk, amely a Haladó kategóriák között található a MakeCode felületen.

A szereplőnket az alábbi blokk segítségével hozhatjuk létre a megadott kezdő koordinátán:

Blokk szereplő létrehozására megadott kezdő koordinátán.

A MakeCode környezetben a szereplőt angolul sprite-nak (kiejtve szprájt) hívják, amelyet magyarul manónak is szoktak nevezni a különböző programozási környezetekben. Ez egy olyan pontot jelöl, amelynek van iránya, és az adott irányba el tud mozdulni megadott lépésnyit. Amikor elhelyezzük a pontot, akkor alapesetben jobbra néz, vagyis előrelépéskor jobbra tesz egy lépést.

A szereplőnek nevet kell adnunk, ezért egy változót kell létrehoznunk, amelynek értéke a fenti blokk lesz!

Feladatok szekció

Feladatok

  1. Készítsük el az itt látható programot!
    Kód pont mozgatása az A és B gombokkal.
    Pont mozgatása az A és B gombokkal
    Magyarázat: Programunkban a meteor_oszlop változó értéke egy véletlenszerűen kiválasztott szám lesz 0 és 4 között. A meteor nevű változóba helyezzük el a szereplő létrehozásához szükséges blokkot. Ennek hatására a meteor a felső sorban, a véletlenszerűen kiválasztott oszlopban jelenik meg. Ha a B gombot megnyomjuk, akkor a pont előremozdul az aktuális irányba. Mivel alapesetben jobbra néz a szereplőnk, ezért jobbra fog lépni. A hátralépést úgy tudjuk megvalósítani, hogy negatív számmal lépünk előre. Ezt látjuk az A gomb eseményénél.
    Próbáljuk ki a fenti kódot a gyakorlatban is! Mit tapasztalunk, mi történik, ha a szereplő eléri a kijelző szélét? Eltűnik? Visszapattan? Nem mozog tovább abban az irányban?
  2. Változtassuk meg a programot úgy, hogy a szereplő ne jobbra induljon el az előrelépéskor, hanem lefelé! Fedezzük fel önállóan, hogy az elforduláshoz melyik blokkot kell használni, és milyen paraméterrel!
  3. Tudjuk, hogy az állandóan nevű blokkban elhelyezett utasítások folyamatosan ismétlődnek. Illesszük be az alábbi kódot a programunkba! Ennek hatására a meteor lefelé mozog, míg el nem éri a legalsó sort. A szünet beállítása azért szükséges, hogy ne legyen túl gyors a pont mozgása. Próbáljuk ki a kódot a gyakorlatban is!
    Kód meteor előreléptetésére.
    Meteor előreléptetése
  4. Fejlesszük tovább az alkalmazást úgy, hogy ha a meteor eléri a legalsó sort, akkor kerüljön vissza a legfelső sorba, egy véletlenszerűen kiválasztott oszlopba!
    Kód a szereplő x koordinátájának lekérdezésére.
    A szereplő x koordinátájának lekérdezése
    Kód az A szereplő x koordinátájának beállítására.
    A szereplő x koordinátájának beállítása

    A szereplő koordinátáinak lekérdezéséhez használhatjuk az itt látható blokkot. Természetesen nemcsak az x, hanem az y koordinátát is lekérdezhetjük.
    A szereplő koordinátájának megváltoztatásához is találunk megfelelő blokkot a Játék kategóriában.
    Ha sikeresen megoldottuk ezt a feladatot is, akkor elkészültünk a hullócsillag-szimulációval. Láthatjuk, hogy a meteorok egymás után jelennek meg és hullanak le a kijelzőn.

 

Feladatok szekció vége

Vágjunk át az aszteroidamezőn!

Illusztráció az űrben suhanó rakétáról. Inspiráció a feladat továbbfejlesztéséhez. A korábban megvalósított hullócsillagok az űrhajó előtti akadályokat (kisbolygókat) jelölik, amelyeket ki kell kerülnünk az utunk során.

Most képzeljük el, hogy a korábban megvalósított hullócsillagok az űrhajónk előtti akadályokat (kisbolygókat) jelölik, amelyeket ki kell kerülnünk az utunk során! Fejlesszük tovább ennek megfelelően az alkalmazást!

Feladatok szekció

Feladat

Hozzunk létre egy szereplőt űrhajó névvel a legalsó sor középső pontján! Oldjuk meg, hogy az A gombbal az űrhajót balra lehessen léptetni, a B gombbal pedig jobbra!

Ha ezt a feladatot is megoldottuk, már csak néhány kisebb fejlesztés szükséges ahhoz, hogy egy valódi játékprogramot hozzunk létre.

A játék célja az, hogy ne ütközzünk neki a kisbolygónak. Ha ez megtörténik, akkor álljon le a játék!

Kód: vége a játéknak, ha az űrhajó hozzáér a meteorhoz.
Vége a játéknak, ha az űrhajó hozzáér a meteorhoz

Ezt a feltételt az itt látható blokkok segítségével könnyen megvalósíthatjuk a programunkban. A blokk közvetlenül a meteor léptetése után kerüljön! Próbáljuk ki a programot!

Blokkok pontszám beállítására, illetve növelésére.
Pontszám beállítása, illetve növelése

Izgalmasabb lenne a játékunk, ha pontokat kapnánk azért, ha elkerültük az ütközéseket. A Játék kategóriában a pontszámok beállítására és növelésére is találunk blokkokat. A játék indulásakor (az indításkor blokkban) nullázzuk le a pontszámot! Amikor pedig sikeresen kikerültünk egy kisbolygót, növeljük meg a pontszámot! Az elért pontszám automatikusan meg fog jelenni a micro:bit kijelzőjén akkor, amikor véget ér a játék. Amikor pedig a pontszámunk nő, akkor a kijelző felvillan.

Blokk a visszaszámlálás indítására.
Visszaszámlálás indítása

Állítsuk be azt, hogy a játék maximum 20 másodpercig tartson! Az ehhez szükséges visszaszámlálás blokkot az indításkor blokkban kell elhelyeznünk.

Feladatok szekció vége
Feladatok szekció

Feladat

Végezzük el ezt a fejlesztést önállóan az itt látható blokkok megfelelő helyre való beillesztésével! Ezek után próbáljuk ki a játékot! Hány pontot sikerült összegyűjteni a játék során? Hasonlítsuk össze a kapott pontokat a társainkéval!

Feladatok szekció vége

Gyakorlás, saját ötletek megvalósítása

Sárga ruhába öltözött kisfiú, hátán szárnyakkal repülni készül. A szárnyakon lévő rakétahajtóművek már működnek. Fentről csillagok és bolygók lógnak.

Most már tudjuk, hogyan hozhatunk létre a Játék kategória elemeivel egyszerű, de mégis izgalmas játékokat.

A következőkben engedjük szabadon a képzeletünket! Fejlesszük tovább a játékot az elképzeléseinknek megfelelően, illetve találjunk ki új játékokat!

Feladatok szekció

Egyéni feladatok

  1. Gondoljuk át, hogyan tudnánk még izgalmasabbá tenni az űrhajós játékot! Hogyan lehetne megoldani például, hogy az idő múlásával egyre nehezedjen a feladat? Valósítsuk meg az ötleteinket!
  2. Fejlesszük tovább úgy az alkalmazást, hogy ne csak gombok megnyomásával lehessen irányítani az űrhajót, hanem más gesztusok segítségével is!
  3. Milyen új funkciót tudnánk elképzelni, amelyhez összetett feltétel megfogalmazása szükséges? Valósítsuk meg a gyakorlatban!
Feladatok szekció vége
Feladatok szekció

Találjunk ki saját játékot!

Három gyerek közösen dolgozik egy laptopon. Negyedik társuk az asztal másik oldalán egy papírra rajzol. Mindannyian elmélyedtek, a munkájukra fókuszálnak.
  1. Alkossunk három-négy fős csoportokat! Tervezzünk olyan játékot a micro:bitre, amelyben egy vagy több szereplőt kell irányítanunk egy adott cél eléréséhez! A játék során lehessen pontokat szerezni! Oldjuk meg azt is, hogy a játék egyre nehezedjen! Előbb készítsük el a program algoritmusát, és csak utána álljunk neki a megvalósításnak! Törekedjünk arra, hogy mindenki kapjon olyan részfeladatot, amiért ő a felelős!
  2. Ha elkészültünk a munkánkkal, mutassuk be egymásnak a játékokat, és próbáljuk ki egymás programjait! Gyűjtsük össze, hogy mi tetszett az egyes játékokban, mi okozott nehézséget a használat során, és milyen módon lehetne még továbbfejleszteni a programokat!
Feladatok szekció vége

Lecke terület vége