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