6. óra: Kõ/papír/olló II.

A kõ-papír-olló játék második verzióját fogjuk elkészíteni.

Amit eddig tud a programunk...
Elõször vár a mi döntésünkre:
- Ha az 'A' gombot nyomjuk meg, megjelenít egy re emlékeztetõ ikont;
- Ha a 'B' gombot nyomjuk meg, megjelenít egy papírra emlékeztetõ ikont;
- Ha az 'A+B' gombot nyomjuk meg, akkor megjeleníti az olló ikont,
és többet nem enged választani.
Aztán vár 1 másodpercet.
A várakozás után a micro:bit generál egy véletlen számot 1 és 3 között.
- Ha a véletlen szám 1, akkor megjelenít egy re emlékeztetõ ikont;
- Ha a véletlen szám 2, akkor megjelenít egy papírra emlékeztetõ ikont;
- Ha a véletlen szám 2, akkor akkor megjeleníti az olló ikont,
és többé a micro:bit sem választ.

Feladat: A gép választása és a választás megjelenítése után a gép döntse el, ki nyert, és a döntésnek megfelelõ ikon jelenjen meg 1 másodperc várakozás után.
A végeredmény megjelenítés után már ne történjen semmi.

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 kopapirollo1 néven!

Töltse le az alábbi linkrõl (jobb egér, hivatkozás mentése) a múlt órán elkészített kopapirollo1 programot egy ujonnann létrehozott: 6inf2 nevû mappába, makd az így letöltött fájlt 'húzza be' a programozó felületbe! (A projekt új neve: kopapirollo2.)

 

A kép, ami fogad minket:

kopapirollo2.hex

 

1. gondolat

A végsõ döntést, hogy ki nyer, egy eredmeny nevû változóban fogjuk tárolni. Amíg nincs döntés, addig ennek értéke legyen -1.

Hozzunk tehát létre egy eredmeny nevû változót melynek kezdeti értékét az indításkor blokkban állítsunk -1-re. (Most ez a kezdõérték.)

Az indításkor blokk új verziója:

 

2. gondolat

Állapodjunk meg abban, hogy az eredmeny nevû változót a következõképp' kódoljuk:
0: ha döntetlen,
1: ha a gép nyert,
2: ha az ember nyert.

Vizsgálatunkat egy feltétellel kezdjük: eredmény csak akkor hirdethetõ, ha mindkét résztvevõ döntött, tehát az ember és a gep változó tartalma egyaránt pozitív.

Az állandóan blokk alsó részén ezzel a feltétellel folytatjuk...

Az állandón blokk (alsó részének) új verziója:

 

3. gondolat

A feltétel teljesülése azt jelenti, hogy értékelhetjük a végeredményt.

Mindenekelõtt kérjünk 1 másodperc szünetet! (Hogy egy kis ideig látszódjék a gép döntése is.)

Az állandón blokk alsó része szünettel:

 

4. gondolat: az értékelés

Készítsünk táblázatot a kialakult helyzetrõl! (Felül a gép döntése, bal oldalt az ember döntése, a táblázatban az eredmény kódja:

Hogyan lehetne az eredmeny-t sok-sok feltétel helyett matematikai mûveletekkel elõállítani az ember és a gep változókból?

1. ötlet: Vonjuk ki a gep változóból az ember változót:

Ez hat esetben (zöld)jó eredményt ad, de a bal alsó 3 esetben nem - negatív az eredmény.

2. ötlet: Ha az eredmény negatív, akkor adjunk hozzá 3-at - és minden rendben lesz.

Az állandón blokk alsó része a kiértékeléssel:

 

5. gondolat: kijelzés

Az eredmeny megszületett, tegyük ki a megfelelõ ikonokat:
Ha eredmeny = 0, akkor X,
ha eredmeny = 1, akkor mosoly,
ha eredmeny = 2, akkor szomorú a gép (mert vesztett).

De mielõtt ezt megtesszük, gondoskodunk arról, hogy a gép választása többé ne jelenjen meg: állítsuk a gep változó értékét pl. 4-re!

Az állandón blokk alsó része a végsõ állapotban:

Töltsék rá a micro:bit-re, és próbálják ki!