5. óra: Fénypont mozgatása
Egy fénypontot mozgatunk a micro:bit-en úgy, hogy amerre döntjük, arra megy.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/#
Hozzon létre egy új projektet mozgatas néven!
A következõ kép fogad minket:
mozgatas.hex1. lépés: Hozzunk létre két változót! Az egyik x, a másik y legyen. Az 'indításkor' blokkban állítsuk az x és y kezdõértékét 0-ra! (Ez a kezdõpontunk.)
Az 'állandóan' blokkban gondoskodjunk az x, y koordinátájú pont megjelenítésérõl is!
2. lépés: Hozzunk létre a dõlés állapotának tárolására egy d nevû változót, és az b'indításkor' blokkban annak kezdõértékét is állítsuk 0-ra
Az eredmény:
A szimulátoron nem látszik semmi - kijelzés még nincs.
3. lépés: Tegyük ki a dõlés érzékelésére szolgáló 4 blokkot. (A 'Bemenet' menübõl az 'amikor rázás érzékelve' blokk a mienk.)
Megegyezésünk szerint legyen a d-ben
tárolt érték a következõ:
- jobbra: 1,
- balra: 2,
- felfele ('logo lent'): 3,
- lefele ('logo fent'): 4.
4. lépés: A pont mozgatását az x és y változók manipulálásával végezzük.
Ehhez az állandóan blokkban el kell helyezzünk egy feltételvizsgálatot, amely a d változó értékétõl függõen elvégzi ezt.
Tegyen az 'állandóan' blokkba, a pont megjelenítése fõlé egy 'ha igaz akkor' blokkot! ('Feltételek' menü.)
Az eredmény:
5. lépés: Az új blokkot felokosítjuk, hogy figyelje a d változó 4 lehetséges értékét.
Az eredmény (kicsit átrendezve, hogy jobban elférjek):
6. lépés: Az egyes ágakban a teendõk:
- Ha d
= 1, akkor jobbra lépünk, tehát x
értékét 1-gyel növelni kell;
- Ha d
= 2, akkor balra lépünk, tehát x
értékét 1-gyel csökkenteni kell (-1-gyel 'növelünk');
- Ha d
= 3, akkor felfele lépünk, tehát y
értékét 1-gyel csökkenteni kell;
- Ha d
= 4, akkor lefele lépünk, tehát y
értékét 1-gyel növelni kell;
7. lépés: Gondoskodnunk kell egy kis szünetrõl (a LED felkapcsolása után), majd a LED lekapcsolásáról is.
Töltse le a programot a micro:bit-re, és próbálja ki!
8. lépés: Észleljük az utolsó problémát: a fényont kiszalad a LED-tábláról. Nem gondoskodtunk arról, hogy az x, illetve y változók Az 'értelmes határok között maradjanak.
Pontosabban szólva:
- Ha x-et
növeljük, azt csak akkor tegyük, ha nem érte el a 4-et;
- Ha x-et
csökkentjük, azt csak akkor tegyük, ha nem érte el a 0-t;
- És hasonlóképp tegyünk az y-nal
is!
Át kell írnunk a hatszögekben lévõ feltételeket!
Ha pl. a d = 1-et vizsgáljuk, akkor még azt is néznünk kell, hogy ÉS x < 4 legyen. (Mert ha nem, hamár elérte a 4-et, akkor ne növeljük tovább...)
A végsõ program:
Töltsük rá a micro:bit-re, és próbáljuk ki!