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ě!