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.