![](hely-30x30.gif)
4. óra: Változók, fénypontok
A mai órán önálló feladatmegoldással próbálkozunk. Olvassa el figyelmesen a feladatot, és próbálja megoldani. Ha kész, mutassa meg a micro:bit-en mûködésképesen, hogy értékelhessem.
Elõkészületek
0. lépés: Indítsa el a böngészõt, és lépjen be a programozó feületre (jobb egér, megnyitás új lapon):
https://makecode.microbit.org/#
I. Kõ-papír-olló játék – kezdõ verzió
Feladat: Azt szeretnénk elérni, hogy a gép észlelje gombnyomás alapján, hogy 'kõ', 'papír' vagy 'olló' a választásunk.
A döntést következõképpen értjük:
- 'A' gomb: kõ. Ilyenkor jelenjen meg egy ikon, ami kõre emlékeztet (pl. a 'kis gyémánt').
- 'B' gomb: papír. Jelenjen meg egy ikon, ami papírra emlékeztet (pl. a 'négyzet').
- 'A+B' gomb: olló. Ekkor jelenjen meg az olló ikon (az utolsó sorban hátul van).
Hozzon létre egy új projektet kopapirollo1 néven!
A következõ kép fogadja:
kopapirollo.hex![](./anyagok/6inf-004.valtozok.fenypontok/felirat0.png)
0. lépés: Az 'indításkor' és az 'állandóan' blokkokra nem lesz szükség. Kitörölheti, vagy ott hagyhatja.
1. lépés: Tegyen le a 'Bemenet' menübõl egy 'amikor az A gomb lenyomva' blokkot, és tegyen bele egy ikonmegjelenítõ utasítást az 'Alapok' menübõl. Válasszon egy megfelelõ (köszerû) ikont!
![](./anyagok/6inf-004.valtozok.fenypontok/kpo-1.png)
2. lépés: Készítsen errõl a rózsaszín blokkról két másolatot, amiket átállít a 'B', majd az 'A+B' gomb érzékelésére, és bennük a megfelelõ ikont kérje (papír, olló).
![](./anyagok/6inf-004.valtozok.fenypontok/kpo-2.png)
Töltse rá a micro:bit-re, próbálja ki, és ha jó, mutassa meg!
II. Cikázó fénypont
Feladat: A micro:bit képernyõjén véletlenszerû pozícióban (hol itt, hol ott) jelenjen meg egyetlen fénypont
0. lépés: Hozzon létre egy új projektet fenypont néven!
Nagyjából a következõ kép fogadja:
fénypont.hex![](./anyagok/6inf-004.valtozok.fenypontok/felirat0.png)
Az 'indításkor' blokk most nem kell - kitörölhetjük, de ha marad, az se zavar...
1. lépés: Hozzon létre két változót! Az egyik x, a másik y legyen.
2. lépés: Az 'állandoan' blokkban állítsa be az x, illetve y
változó értékeit egy-egy 0 és 4 közé esõ véletlen egészre!
Részletezve:
- Vegyen ki a 'Változók' menübõl egy 'x legyen 0' blokkot, és
tegye az 'állandóan'-ba.
- Ebben a 0 helyére tegyen a 'Matek' menübõl egy 'véletlenszám 0 és
10 között' blokkot - de a 10-et írja át 4-re!
- Az egész értékadásrõl (piros blokk) készítsen egy másolatot (jobb
egér), és ott az 'y'-t állítsa át 'x'-re!
Az eredmény:
![](./anyagok/6inf-004.valtozok.fenypontok/fenypontok1.png)
A szimulátoron nem látszik semmi - kijelzés még nincs.
3. lépés: Az 'állandóan' blokkba, az
értékadások alá helyzzen egy LED-felkapcsoló utasítást, amely az x, y
változók által megjelölt pozíción felkapcsolja a LED-et. ('Led' menü, 'felkapcsol'
blokk.)
Ne felejtse el a két nulla helyére 'bevarázsolni' az x,
y változókat jeképezõ kis piros
karikákat!
4. lépés: A felkapcsolás után kérjen egy 100 ms-os szünetet, hogy lássunk is valamit.
Az eredmény:
![](./anyagok/6inf-004.valtozok.fenypontok/fenypontok2.png)
Nézze meg a szimulátoron az eredményt!
Nem pont az történik, amire számítottunk - a kijelzõ LED-jei lassan mind világítanak.
Kérdés: Miért?
Válasz: Mert a felkapcsolt fénypont mindaddig 'ég', amig a lekapcsolásáról nem gondoskodunk.
5. lépés: A kért szünet után gondoskodnia kell a LED lekapcsolásáról is (a megfelelõ pozíción).
Az eredmény:
![](./anyagok/6inf-004.valtozok.fenypontok/fenypontok3.png)
Próbálja ki a programot a micro:bit-en! (Ha jó, mutassa is meg!)
III. Több fénypont villogtatása
Most változtassa meg úgy a programot, hogy nem egy, hanem 2 fénypontot villogtat véletlenszerû helyeken!
0. lépés: Kérjünk egy új projektet fenypontok néven!
A programot hasonló az eredetihez, azonban most még az x és y változók mellé újabb két változót fel kell vennünk, és azokkal ugyanúgy végig kell csináltassuk mindazt, amit az x, y-nal...
Ügyeljen arra, hogy a két véletlen pozíciójú fénypont egyszerre világítson, majd egyszerre tûnjön el!
Sok sikert hozzá!
IV. Kõ-papír-olló játék – középhaladó verzió
Feladat: Fejlesszük tovább a kõ-papír-olló játékot!
Ha megnyomtuk valamelyik gombot, továbbra is jelezze ki a választásunkat, de aztán 1 másodperc múlva a micro:bit is 'válasszon' véletlenszerûen, és akkor majd azt jelezze ki.
Ez praktikusan úgy oldható meg, hogy létrehoz egy változót, amiben
érzékeli, ha megnyomják a gombot.
Aztán - ha megnyomták (itt egy feltételes mûvelet áll) - létrehoz egy
másik változót, amibe generál egy 0-2 közti véletlen számot.
Itt jön az 1 másodperc várakozás.
Ha (újabb feltételvizsgálat) ennek értéke 0, akkor megjeleníti a követ,
ha a véletlenszám értéke 1, akkor megjeleníti a papírt, ha 2, akkor az
ollót...
Fontos! Valahogy oldja meg, hogy a gép már új véletlenszámot ne generelgasson!
Így a géppel játszhatunk...
Jó munkát!