Nyní se podíváme na použití
složitějších podmínek při programování.
Na ukázku mám
připravené plátno.
Vypadá jako hra, kterou
jsem kdysi hrávala.
Foursquare.
Jsou tu 4 čtverce.
Do jednoho se postavíte a pak
odrážíte míč do těch ostatních.
Teď kreslím elipsu na základě
polohy mé myši.
To je náš míč.
Chtěla bych zvýraznit čtverec,
ve kterém máme naši myš.
A to tím, že navrch
nakreslím bílý obdélník.
K tomu ale potřebuju
podmíněný příkaz,
protože to chci udělat
pokaždé pro jeden.
Vždy jen pro jeden daný
obdélník.
Začneme tedy tím, že
si nakreslíme obdélník.
Jednoduše překopíruji tento "rect"
a dám mu jinou výplň, bílou.
A teď to obalíme
do podmínky "if".
Jak vidíte, samo to za mě
doplní složené závorky.
Přesunu to tedy dovnitř.
Kdy chci ukazovat
tento obdélník?
Já vím, že ho chci ukázat,
když mouseX je méně než 200.
Funguje to.
Ale když přejedu sem dolů,
pořád se ukazuje.
Musím tedy koukat
i na hodnotu mouseY.
Jak bych vytvořila podmínku pro obě
tyto věci?
Na to máme
operátor "and".
Operátor "and" máme
pro kontrolu více podmínek.
Jednoduše napíšeme && ("and")
a pak zadáme další podmínku.
Takže mouseY
je méně než 200.
Teď se nám to tady nevybarvuje
a tady ano!
Pojďme si ověřit, že to funguje.
Vytvoříme další čtverec.
A něco pozměníme.
Vezmeme teď
tento obdélník.
A opět musíme
změnit podmínky.
Aby se správně zabarvoval.
Nyní musí být
mouseX více než 200.
A mouseY je pořád
méně než 200.
Super, podívejte na to!
V míčové hře se při dotknutí okrajů
a rohů vždy musí zakřičet "EdgeBall".
Uděláme si to i tady.
Nejdřív si to napíšeme:
"EDGE BAL!!!!"
Umístím to do prostředka
a zabarvím to červeně.
Toto chci, aby se objevilo jen tehdy,
když jsem na okrajích.
Přidáme proto podmínku "if"
a vložíme do ní tento kód.
Kdy chci kód provést?
Okraje máme i v prostředku.
Prostředek je, když se
mouseX rovná (===) 200.
Dostanu EdgeBall?
Tady to máme, EdgeBall!
Funguje to pro
tuto prostřední čáru.
Ale chtěla bych, aby to fungovalo
i na této čáře.
A v tom případě
potřebuji mouseY.
A ta se rovná (===) 200,
což je hodnota prostřední čáry.
Moc to nefunguje a teď
nefunguje vůbec nic.
Jedna věc funguje,
jenom úplný prostředek.
To je kvůli použití "and".
Kód funguje, jen když
jsou obě podmínky pravdivé.
A ty jsou pravdivé jen
v úplném prostředku.
Já tedy potřebuji říct:
Vykonej kód, když kterákoli
z těchto podmínek je pravdivá.
A právě proto máme
operátor "or".
Ten vypadá nějak takhle: ||.
Jedná se o svislé čáry a
asi jste je ještě nepoužili.
Musíte se podívat na vaši klávesnici,
můžou být v pravém horním rohu.
Doufám, že už jste
je objevili.
Podíváme se,
jestli to teď funguje.
Funguje to tady,
tady a tady, skvělé!
A můžeme sem klidně
přidávat víc podmínek.
Oboje, "and" a "or" můžete
použít kolikrát jen chcete.
Můžete klidně zkontrolovat 6
různých podmínek.
Ještě jsme nezajistili
všechny rohy.
Řekněme tedy, že když
mouseX je méně něž 3.
Tak to by měl být
tento malý roh, super.
A teď ještě když mouseX
je více než 397.
Funguje to, perfektní!
Uděláme to pro všechny okraje.
Teď už znáte "and" (&&) a "or" (||)
a jak můžete vidět,
umožňují vám ve vašich programech
dělat mnohem složitější podmínky.
A to se určitě bude hodit.