Zde je funkce, kterou možná ještě neznáte: random.
Obsahuje dva parametry, dolní mez a horní mez.
Jejím výstupem je číslo mezi těmito dvěma mezemi.
Čili proměnná "number" bude číslem mezi 0 a 1.
Toto číslo následně nakreslíme na plátno pomocí funkce "text".
Poslední dva parametry funkce určují polohu x a y daného textu.
Dále používáme "textSize" a "fill" k nastavení barvy a výplně textu.
Pokud opakovaně zmáčknu restart, vygeneruje se řada náhodných čísel.
A jak můžete vidět,
přesnost těchto čísel se určuje na tři desetinná místa.
Tady je otázka.
Co kdybych chtěla vygenerovat pouze číslo 0 nebo 1?
Na to můžeme použít další funkci: round.
Tato funkce zpracovává jakékoli desetinné číslo.
Dané číslo pak zaokrouhlí na nejbližší celé číslo.
Vytvořím si tedy novou proměnnou s názvem "integer".
A přiřadím jí cokoli, co nám "round" vrátí.
Výsledné celé číslo si nakreslím na obrazovku.
Udělám to pomocí funkce "text".
Čili napíšu "text integer" a umístím ho na 160, 350.
Jak můžeme vidět,
číslo 0,2314 se po zaokrouhlení rovná číslu 0.
Kdybych použilo číslo 4,6, zaokrouhlilo by se na 5.
Pokud bych chtěla generovat náhodná čísla mezi 0 a 1,
můžu vzít toto náhodně generované desetinné číslo,
které nabývá hodnot mezi čísly 0 a 1.
A vložím ho do funkce "round".
Vezmu tedy "number" a vložím ho sem dolů.
A jak můžete vidět,
kdykoli vygenerujeme číslo menší než 0,5, zaokrouhlí se směrem dolů na 0.
A kdykoli vygenerujeme číslo větší či rovno 0,5,
zaokrouhlí se směrem nahoru na 1.
Možná už začínáte vidět, jak by šlo naprogramovat hod mincí.
Pokud byste hodili 0, kamarád vám musí dát dolar.
A pokud byste hodili 1, kamarád vám dá deset dolarů.
Skvělá hra!
Pojďme si teď tuto hru s mincí udělat.
Uděláme naprosto realistické mince.
A ty ve skutečnosti budou obyčejnými elipsami.
Nakreslím elipsu v prostředku našeho plátna.
To bude naše mince.
Trošku ale překrývá text, posuneme ho nahoru.
Napadlo mě,
že bych v případě hodu 0 mohla ukázat fialovou stranu mince.
Abych minci udělala fialovou, naplním ji fialovou barvou.
A pokud hodím číslo 1, ukážu žlutou stranu mince.
Takže to bude fialová a žlutá mince.
A díky naší znalosti podmínek je toto pro nás velmi jednoduché.
Můžeme napsat:
Pokud se "integer" rovná 0...
Pamatujte, pro rovnost používáme tři rovnítka.
... tak zabarvíme elipsu fialově.
A pokud se "integer" rovná 1, použijeme funkci pro žlutou barvu.
Funguje to, skvělé!
Pojďme se na to podívat.
"Integer" může být jenom 0 nebo 1.
Tak jsme ho nastavili.
A to znamená,
že buď bude pravdivý tento výraz, anebo bude pravdivý tento výraz.
Pokaždé.
Pokryli jsme všechny možnosti.
Můžeme tedy o našem rozhodování přemýšlet jinak.
Pokud je "integer" 0, vyplníme fialovou.
Jinak vyplníme žlutou.
Jak můžete vidět,
nemusíme o proměnné "integer" a číslu 1 říkat vůbec nic.
Je potřeba říct:
Pokud je "integer" 0, udělej toto, jinak udělej toto.
A v programování označujeme jinak jako "else".
Dívejte na to.
Nahradím tuto druhou podmínku slovem "else".
A to znamená:
V případě, že obsah závorek je pravda, přehraj kód v závorkách.
Jinak přehraj kód v těchto závorkách.
Někdy dokonce umístíme "else" na stejný řádek za závorku.
A to abychom si pamatovali, že tyto dva řádky kódu jsou propojené.
Nemůžete mít "else" blok, aniž byste měli "if" blok.
Také vám to pomůže pamatovat na to, abyste mezi bloky nic nedávali.
Jako například: var y = 0.
To by akorát úplně vše pokazilo.
A teď už známe if-else.
A to se hodně hodí při rozhodování mezi 2 možnostmi.
Ale co když jich máme více?
Co kdybych generovala celé číslo mezi 0 a 2?
Měla bych tři možnosti: 0, 1 nebo 2.
Pokračování příště!