Teď, když už znáte základy cyklů,
pojďme si pomocí nich udělat nějakou pěknou kresbu.
Třeba tuhle.
Je to Hopper s balónky plovoucími po krásné obloze.
Jak začnu psát kód od začátku,
chci abyste přemýšleli, jak byste to udělali sami.
Protože na to velmi brzy dojde.
Zaprvé, vždy je dobré rozdělit si program na jednotlivé kroky.
Začneme nakreslením balónků, které jsou elipsou opakovanou pořád dokola.
To zní jako úloha pro cyklus.
Poté přidáme tyto čáry a nakonec i samotného Hoppera.
Takže tady máme prázdnou plochu, což může být docela děsivé.
Někdy je lepší hned přidat pozadí, ať to máme trochu hezčí.
A taky proto, abychom se měli od čeho odrazit.
Když chceme napsat cyklus, nejprve si musíme položit cyklové otázky.
Ty jsme pokryli v posledním videu.
Tentokrát to uděláme celkem rychle,
takže pokud potřebujete zopakování, projděte si znovu "Intro to while loops".
Pojďme teď k první otázce: "Co chceme opakovat?"
Zkusme nakreslit první balónek, protože opakovat chceme přece balónky.
Můžete to udělat nějak takto, ale je to trochu malé.
A není to úplně na správném místě.
Zkusíme s tím trochu pohnout.
To je ta část programování, kdy něco vyzkoušíte a uvědomíte si,
že to není ono, tak to zkusíte znovu a nakonec jste k výsledku o něco blíže.
Teď bychom asi měli přidat nějakou barvu.
Během vymýšlení kroků jsme na to nemysleli.
Řekněme, že je to součástí vykreslení balónku.
Jako další si musíme promyslet to,
jakým způsobem chceme během cyklu náš balónek měnit.
Chceme, aby byl balónek nakreslen přes obrazovku.
Chceme, aby byl nakreslen tady a pak tady a tady.
Chceme, aby to udělal počítač, protože moje kresba je opravdu špatná.
Můžeme to provést změnou tohoto prvního čísla.
A to, jak dobře víte, ovládá polohu x: tedy polohu do strany.
Ale myslím si, že je to celkem chabé.
Ani to moc nepřipomíná ten obrázek, který jsme viděli předtím.
Takže místo toho toto nazveme x, pro polohu x.
A uděláme proměnnou, která bude mít zhruba stejnou hodnotu.
Nyní budeme tuto proměnnou měnit uvnitř našeho cyklu.
Použijeme tedy cyklus while.
A poté uvnitř tohoto cyklu řekneme, že se x pokaždé změní o 20.
Poté přesuneme tuto elipsu dovnitř, ale musíme být velmi opatrní.
Pokud elipsu nepřesuneme dovnitř,
budeme akorát přemýšlet o tom, co se v programu pokazilo.
Pokud chcete, klidně si to vyzkoušejte sami.
A nyní k naší třetí otázce: "Jak dlouho chceme kód opakovat?"
Chceme pokračovat do té doby,
dokud se nedostaneme za okraj obrazovky.
Možná tedy až do bodu, kdy je x je menší než 400.
Teď je to zajímavé, protože se něco děje.
Ale není to úplně to, co jsme si představovali.
Takže stejně jako předtím, musíme to projít a pomalu to vylepšovat,
abychom se dostali do bodu, který jsme si vymezili.
Zaprvé, elipsy jsou moc nahuštěny, takže to musíme napravit.
Je dobré dát jim trochu volného místa.
Možná jdou ale pořád příliš daleko od stran obrazovky,
takže pokud změníme koncový bod, mohou elipsy začít mizet.
Protože tím říkáme,
že jakmile se nám x bude blížit této hodnotě, přestaň kreslit.
A to je to, co říká tato část cyklu while.
Dále můžeme také říct:
Možná chceme trochu pozměnit elipsy, chceme je všechny posunout dolů.
Chceme trochu změnit jejich velikost.
Skvělou věcí na cyklu while je to,
že můžeme všechny změny provést pro všechny najednou.
Teď je to dokonalé.
Když se nyní podíváme na balónky, bylo by hezké k nim přidat provázky.
Pokud se nám líbí, musíme je uvázat, jinak nám odletí.
Pro každou z nich potřebujeme čáru.
Potřebujeme umístit čáru do středu každého z těchto balónků.
Aby to bylo snadné.
A pak se všechny čáry sejdou ve stejném bodě, asi takto.
Jak přimějeme náš program, aby to udělal namísto nás?
Vzpomeňme si, že pokud chceme něco opakovat,
musíme to vložit dovnitř while cyklu.
Uděláme tedy tuto čáru.
Pokud chceme, aby toto bylo v samém středu elipsy,
musíme to mít počáteční pozici na těchto dvou souřadnicích.
Řekněme, že to skončí kdekoli.
Celkem jsme se trefili.
Ale opět to není dokonalé, možná to sami vidíte, takže to musíme opravit.
Nejprve pojďme opravit tuto ošklivou věc.
Což je to, že se námi nakreslené čáry překrývají s balónky.
To není dobře.
Ve skutečnosti chceme, aby elipsy provázek zakrývaly.
A to upravíme jednoduše tím, že změníme pořadí.
Pravděpodobně se zde objeví spousta věcí, které jste se již naučili.
Takto je to dobré, ale možná bychom chtěli ještě změnit barvu těchto čar.
A jak to udělat, pokud program děláme úplně sami?
Můžeme se podívat na dokumentaci.
Pokud byste nevěděli jak, podívali byste se na video o dokumentaci.
Můžeme pokračovat a pomocí stroke() nastavit barvu těchto čar.
A dám jim barvu, nevím, možná něco takovéto?
A je to krásné!
A poslední, co musíme udělat, je namalovat Hoppera.
Toho docílíme tím, že ho vložíme jako obrázok, takhle.
Jak jsem na to přišla naleznete v dokumentaci.
Ještě si pohrám s polohou, aby Hopper v ruce držel balónky.
Jsme hotovi!
Můžete zkusit balónky ozdobit,
nebo do tohoto cyklu něco přidat, aby byly balónky trochu zajímavější.
Můžete dokonce použít cyklus u vaší další kresby.