8. óra: Rádió használata

A mai órán a micro:bit rádióadó-vevõ képességével dolgozunk. Álljanak párokba, és ketten készítsék el az alábbi programokat! (Ügyeljenek arra, hogy a két micro:bit-jük ugyanazt az egyedi rádiócsoport-ot használja - amit senki más nem.)

Elõkészületek

0. lépés: indítsa el a böngészõt, és lépjen be a programozó felületre (jobb egér, megnyitás új lapon):

https://makecode.microbit.org/#

Hozzon létre egy új projektet szamjatek néven!

A következõ kép fogad minket:

radioado.hex


I. Számjáték

Feladat: Készítsünk programot, amely két micro:bit-tel dolgozik. Két játékos játszik egymással.

A játék leírása: Kezdetben mindkét micro:bit-en megjelenik a 9 szám - ez a játék értéke. A két játékos felváltva nyomhat 'A'-t, 'B'-t vagy 'A+B'-t.
Elõször az nyom, aki gyorsabb, de utána csak akkor érvényes a gombnyomás, ha elõtte a másik már választott. Tehát hol az egyik, hol a másik játékos nyomhat gombot, de kétszer egymás után senki.
Ha a soron következõ játékos...
... az 'A' gombot nyomja, akkor a játék értéke 1-gyel csökken;
... az 'B' gombot nyomja, akkor a játék értéke 2-vel csökken;
... az 'A+B' gombot nyomja, akkor a játék értéke 3-mel csökken.
Lépéskényszer van, tehát akin a sor, az kell nyomjon valamit.
Az nyer, aki el tudja érni a 0-t.

Egy példa játékmenet:
A jákék (kezdõ)értéke: 9. Ez mindkét micro:bit-en megjelenik.
- egyik játékos: 'A' (-1)
A játék értéke: 8. (Ez mindkét micro:bit-en látszik).
- másik játékos: 'A+B' (-3)
A játék értéke: 5.
- egyik játékos: 'B' (-2)
A játék értéke: 3.
- másik játékos: 'A+B' (-3)
A játék értéke: 0 \(\Longrightarrow\) a 'másik' játékos nyert!

 

1. lépés: Állítsa be az 'indításkor' blokkban a rádiócsoportot (egyedilgeg, párban!), valamint két változót:
- a kijon változó azt rögzíti, hogy ön jön, vagy a másik testvét. 0: ha ön jön, 1: ha nem.
- a szam változóa játék értékét tárolja.

Az indításkor blokk tartalma:

2. lépés: Most figyelni fogjuk a gombnyomásokat, és ha az megtörténik, akkor...

... meg kell vizsgálni, hogy ön jön-e (kijon = 0) - ha nem, akkor nincs teendõ;

... ha ön jön, akkor...
    ... a kijon értéke 1-re állítandó (már nem ön jön);
    ... a szam a megfelelõ értékkel csökkentendõ (A:-1, B:-2, A+B:-3)
    ... a szam változót az új értékkel el kell küldenünk.

Az 'A' gomb vezérlõje (a 'B' és 'A+B' értelemszerûen készítendõ):

 

3. lépés: Gondoskodjunk a vételrõl!

Ha adás érkezik, akkor...

... megvizsgáljuk, hogy tényleg a másik jön-e (kijon = 1, vagy most indul: szam = 9) - ha nem, akkor nincs teendõ;

... ha tényleg a másik játékos jön, akkor...
    ... az érkezett szám elmentendõ a szam nevû változóba;
    ... a kijon értéke 0-ra állítandó (már megint ön jön);

Az adás vétele:

3. lépés: Gondoskodjunk az egész megjelenítésérõl - ez az állandóan blokk feladata.

A teendõk:

Mindenekelõtt észlelnünk kell, ha a játék véget ért, ha nem akkor csak kiírjuk a számot, ha igen, akkor sírunk, vagy nevetünk.
(A játék végét a szam értéke alapján vesszük észre, de a kijon változó is fontos, ha az 0, v. 1, akkor tudjuk ki nyert, ha az 2, akkor semmi dolgunk.)

Ha a szam értéke 0, vagy negatív (túltolta a másik játékos), akkor kiírjuk, hogy 0, és...
... ha a kijon változó értéke 0 (ön jönne) akkor ön vesztett \(\Rightarrow\) szomorúság;
... ha a kijon változó értéke 1 (a másik jön) akkor ön nyert \(\Rightarrow\) mosoly;
... akármi az eredmény, már nem jön senki: kijon = 2.
Különben, ha a szam értéke pozitív, akkor csak egyszerûen kiírjuk a szam-ot.

Kész programjukat töltsék rá a micro:bit-re, próbálják ki, és ha jó, mutassák meg!

Jó munkát!