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.