WEBVTT 00:00:01.344 --> 00:00:03.343 Teď, když už znáte základy cyklů, 00:00:03.343 --> 00:00:05.747 pojďme si pomocí nich udělat nějakou pěknou kresbu. 00:00:05.747 --> 00:00:06.747 Třeba tuhle. 00:00:06.747 --> 00:00:09.410 Je to Hopper s balónky plovoucími po krásné obloze. 00:00:09.410 --> 00:00:11.596 Jak začnu psát kód od začátku, 00:00:11.596 --> 00:00:14.441 chci abyste přemýšleli, jak byste to udělali sami. 00:00:14.441 --> 00:00:16.401 Protože na to velmi brzy dojde. 00:00:16.401 --> 00:00:20.207 Zaprvé, vždy je dobré rozdělit si program na jednotlivé kroky. 00:00:20.207 --> 00:00:25.181 Začneme nakreslením balónků, které jsou elipsou opakovanou pořád dokola. 00:00:25.181 --> 00:00:27.485 To zní jako úloha pro cyklus. 00:00:27.485 --> 00:00:32.984 Poté přidáme tyto čáry a nakonec i samotného Hoppera. 00:00:33.594 --> 00:00:37.963 Takže tady máme prázdnou plochu, což může být docela děsivé. 00:00:37.963 --> 00:00:41.779 Někdy je lepší hned přidat pozadí, ať to máme trochu hezčí. 00:00:41.779 --> 00:00:43.969 A taky proto, abychom se měli od čeho odrazit. 00:00:43.969 --> 00:00:48.148 Když chceme napsat cyklus, nejprve si musíme položit cyklové otázky. 00:00:48.148 --> 00:00:49.933 Ty jsme pokryli v posledním videu. 00:00:49.933 --> 00:00:52.695 Tentokrát to uděláme celkem rychle, 00:00:52.695 --> 00:00:56.933 takže pokud potřebujete zopakování, projděte si znovu "Intro to while loops". 00:00:56.933 --> 00:01:01.393 Pojďme teď k první otázce: "Co chceme opakovat?" 00:01:01.393 --> 00:01:06.441 Zkusme nakreslit první balónek, protože opakovat chceme přece balónky. 00:01:06.441 --> 00:01:13.661 Můžete to udělat nějak takto, ale je to trochu malé. 00:01:13.661 --> 00:01:15.279 A není to úplně na správném místě. 00:01:15.279 --> 00:01:17.146 Zkusíme s tím trochu pohnout. 00:01:17.146 --> 00:01:20.093 To je ta část programování, kdy něco vyzkoušíte a uvědomíte si, 00:01:20.093 --> 00:01:25.043 že to není ono, tak to zkusíte znovu a nakonec jste k výsledku o něco blíže. 00:01:26.733 --> 00:01:28.803 Teď bychom asi měli přidat nějakou barvu. 00:01:28.803 --> 00:01:31.332 Během vymýšlení kroků jsme na to nemysleli. 00:01:31.332 --> 00:01:35.232 Řekněme, že je to součástí vykreslení balónku. 00:01:35.232 --> 00:01:37.118 Jako další si musíme promyslet to, 00:01:37.118 --> 00:01:40.898 jakým způsobem chceme během cyklu náš balónek měnit. 00:01:40.898 --> 00:01:43.403 Chceme, aby byl balónek nakreslen přes obrazovku. 00:01:43.403 --> 00:01:47.627 Chceme, aby byl nakreslen tady a pak tady a tady. 00:01:47.627 --> 00:01:51.043 Chceme, aby to udělal počítač, protože moje kresba je opravdu špatná. 00:01:51.043 --> 00:01:54.161 Můžeme to provést změnou tohoto prvního čísla. 00:01:54.161 --> 00:01:57.591 A to, jak dobře víte, ovládá polohu x: tedy polohu do strany. 00:01:57.931 --> 00:01:59.714 Ale myslím si, že je to celkem chabé. 00:01:59.714 --> 00:02:02.700 Ani to moc nepřipomíná ten obrázek, který jsme viděli předtím. 00:02:02.700 --> 00:02:06.276 Takže místo toho toto nazveme x, pro polohu x. 00:02:06.276 --> 00:02:10.727 A uděláme proměnnou, která bude mít zhruba stejnou hodnotu. 00:02:11.108 --> 00:02:14.112 Nyní budeme tuto proměnnou měnit uvnitř našeho cyklu. 00:02:14.112 --> 00:02:15.912 Použijeme tedy cyklus while. 00:02:15.912 --> 00:02:21.816 A poté uvnitř tohoto cyklu řekneme, že se x pokaždé změní o 20. 00:02:21.816 --> 00:02:24.969 Poté přesuneme tuto elipsu dovnitř, ale musíme být velmi opatrní. 00:02:24.969 --> 00:02:27.336 Pokud elipsu nepřesuneme dovnitř, 00:02:27.336 --> 00:02:30.439 budeme akorát přemýšlet o tom, co se v programu pokazilo. 00:02:30.439 --> 00:02:34.285 Pokud chcete, klidně si to vyzkoušejte sami. 00:02:34.285 --> 00:02:39.698 A nyní k naší třetí otázce: "Jak dlouho chceme kód opakovat?" 00:02:39.698 --> 00:02:41.168 Chceme pokračovat do té doby, 00:02:41.168 --> 00:02:43.568 dokud se nedostaneme za okraj obrazovky. 00:02:43.568 --> 00:02:45.957 Možná tedy až do bodu, kdy je x je menší než 400. 00:02:45.957 --> 00:02:48.304 Teď je to zajímavé, protože se něco děje. 00:02:48.304 --> 00:02:50.743 Ale není to úplně to, co jsme si představovali. 00:02:50.743 --> 00:02:54.029 Takže stejně jako předtím, musíme to projít a pomalu to vylepšovat, 00:02:54.029 --> 00:02:56.479 abychom se dostali do bodu, který jsme si vymezili. 00:02:56.479 --> 00:02:59.940 Zaprvé, elipsy jsou moc nahuštěny, takže to musíme napravit. 00:02:59.940 --> 00:03:02.319 Je dobré dát jim trochu volného místa. 00:03:02.319 --> 00:03:05.699 Možná jdou ale pořád příliš daleko od stran obrazovky, 00:03:05.699 --> 00:03:11.618 takže pokud změníme koncový bod, mohou elipsy začít mizet. 00:03:11.618 --> 00:03:12.697 Protože tím říkáme, 00:03:12.697 --> 00:03:16.507 že jakmile se nám x bude blížit této hodnotě, přestaň kreslit. 00:03:16.507 --> 00:03:19.385 A to je to, co říká tato část cyklu while. 00:03:19.385 --> 00:03:21.125 Dále můžeme také říct: 00:03:21.125 --> 00:03:24.945 Možná chceme trochu pozměnit elipsy, chceme je všechny posunout dolů. 00:03:24.945 --> 00:03:29.138 Chceme trochu změnit jejich velikost. 00:03:29.138 --> 00:03:30.838 Skvělou věcí na cyklu while je to, 00:03:30.838 --> 00:03:33.838 že můžeme všechny změny provést pro všechny najednou. 00:03:33.838 --> 00:03:36.576 Teď je to dokonalé. 00:03:36.576 --> 00:03:40.000 Když se nyní podíváme na balónky, bylo by hezké k nim přidat provázky. 00:03:40.000 --> 00:03:43.892 Pokud se nám líbí, musíme je uvázat, jinak nám odletí. 00:03:43.892 --> 00:03:46.013 Pro každou z nich potřebujeme čáru. 00:03:46.013 --> 00:03:50.573 Potřebujeme umístit čáru do středu každého z těchto balónků. 00:03:50.573 --> 00:03:51.562 Aby to bylo snadné. 00:03:51.562 --> 00:03:55.282 A pak se všechny čáry sejdou ve stejném bodě, asi takto. 00:03:55.282 --> 00:03:59.200 Jak přimějeme náš program, aby to udělal namísto nás? 00:03:59.505 --> 00:04:01.621 Vzpomeňme si, že pokud chceme něco opakovat, 00:04:01.621 --> 00:04:03.620 musíme to vložit dovnitř while cyklu. 00:04:03.620 --> 00:04:05.048 Uděláme tedy tuto čáru. 00:04:05.048 --> 00:04:07.377 Pokud chceme, aby toto bylo v samém středu elipsy, 00:04:07.377 --> 00:04:10.141 musíme to mít počáteční pozici na těchto dvou souřadnicích. 00:04:10.632 --> 00:04:13.638 Řekněme, že to skončí kdekoli. 00:04:14.068 --> 00:04:15.498 Celkem jsme se trefili. 00:04:16.118 --> 00:04:21.291 Ale opět to není dokonalé, možná to sami vidíte, takže to musíme opravit. 00:04:21.291 --> 00:04:23.655 Nejprve pojďme opravit tuto ošklivou věc. 00:04:23.655 --> 00:04:28.633 Což je to, že se námi nakreslené čáry překrývají s balónky. 00:04:28.703 --> 00:04:29.703 To není dobře. 00:04:29.813 --> 00:04:32.459 Ve skutečnosti chceme, aby elipsy provázek zakrývaly. 00:04:32.459 --> 00:04:35.249 A to upravíme jednoduše tím, že změníme pořadí. 00:04:35.249 --> 00:04:38.964 Pravděpodobně se zde objeví spousta věcí, které jste se již naučili. 00:04:38.964 --> 00:04:42.555 Takto je to dobré, ale možná bychom chtěli ještě změnit barvu těchto čar. 00:04:42.555 --> 00:04:45.533 A jak to udělat, pokud program děláme úplně sami? 00:04:45.533 --> 00:04:47.424 Můžeme se podívat na dokumentaci. 00:04:47.424 --> 00:04:50.632 Pokud byste nevěděli jak, podívali byste se na video o dokumentaci. 00:04:50.632 --> 00:04:54.314 Můžeme pokračovat a pomocí stroke() nastavit barvu těchto čar. 00:04:54.804 --> 00:05:00.253 A dám jim barvu, nevím, možná něco takovéto? 00:05:00.253 --> 00:05:01.544 A je to krásné! 00:05:01.544 --> 00:05:05.852 A poslední, co musíme udělat, je namalovat Hoppera. 00:05:05.852 --> 00:05:10.152 Toho docílíme tím, že ho vložíme jako obrázok, takhle. 00:05:10.152 --> 00:05:12.936 Jak jsem na to přišla naleznete v dokumentaci. 00:05:12.936 --> 00:05:16.536 Ještě si pohrám s polohou, aby Hopper v ruce držel balónky. 00:05:19.339 --> 00:05:20.214 Jsme hotovi! 00:05:20.214 --> 00:05:22.551 Můžete zkusit balónky ozdobit, 00:05:22.551 --> 00:05:26.534 nebo do tohoto cyklu něco přidat, aby byly balónky trochu zajímavější. 00:05:26.544 --> 00:05:30.544 Můžete dokonce použít cyklus u vaší další kresby.