1 00:00:01,344 --> 00:00:03,343 Teď, když už znáte základy cyklů, 2 00:00:03,343 --> 00:00:05,747 pojďme si pomocí nich udělat nějakou pěknou kresbu. 3 00:00:05,747 --> 00:00:06,747 Třeba tuhle. 4 00:00:06,747 --> 00:00:09,410 Je to Hopper s balónky plovoucími po krásné obloze. 5 00:00:09,410 --> 00:00:11,596 Jak začnu psát kód od začátku, 6 00:00:11,596 --> 00:00:14,441 chci abyste přemýšleli, jak byste to udělali sami. 7 00:00:14,441 --> 00:00:16,401 Protože na to velmi brzy dojde. 8 00:00:16,401 --> 00:00:20,207 Zaprvé, vždy je dobré rozdělit si program na jednotlivé kroky. 9 00:00:20,207 --> 00:00:25,181 Začneme nakreslením balónků, které jsou elipsou opakovanou pořád dokola. 10 00:00:25,181 --> 00:00:27,485 To zní jako úloha pro cyklus. 11 00:00:27,485 --> 00:00:32,984 Poté přidáme tyto čáry a nakonec i samotného Hoppera. 12 00:00:33,594 --> 00:00:37,963 Takže tady máme prázdnou plochu, což může být docela děsivé. 13 00:00:37,963 --> 00:00:41,779 Někdy je lepší hned přidat pozadí, ať to máme trochu hezčí. 14 00:00:41,779 --> 00:00:43,969 A taky proto, abychom se měli od čeho odrazit. 15 00:00:43,969 --> 00:00:48,148 Když chceme napsat cyklus, nejprve si musíme položit cyklové otázky. 16 00:00:48,148 --> 00:00:49,933 Ty jsme pokryli v posledním videu. 17 00:00:49,933 --> 00:00:52,695 Tentokrát to uděláme celkem rychle, 18 00:00:52,695 --> 00:00:56,933 takže pokud potřebujete zopakování, projděte si znovu "Intro to while loops". 19 00:00:56,933 --> 00:01:01,393 Pojďme teď k první otázce: "Co chceme opakovat?" 20 00:01:01,393 --> 00:01:06,441 Zkusme nakreslit první balónek, protože opakovat chceme přece balónky. 21 00:01:06,441 --> 00:01:13,661 Můžete to udělat nějak takto, ale je to trochu malé. 22 00:01:13,661 --> 00:01:15,279 A není to úplně na správném místě. 23 00:01:15,279 --> 00:01:17,146 Zkusíme s tím trochu pohnout. 24 00:01:17,146 --> 00:01:20,093 To je ta část programování, kdy něco vyzkoušíte a uvědomíte si, 25 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. 26 00:01:26,733 --> 00:01:28,803 Teď bychom asi měli přidat nějakou barvu. 27 00:01:28,803 --> 00:01:31,332 Během vymýšlení kroků jsme na to nemysleli. 28 00:01:31,332 --> 00:01:35,232 Řekněme, že je to součástí vykreslení balónku. 29 00:01:35,232 --> 00:01:37,118 Jako další si musíme promyslet to, 30 00:01:37,118 --> 00:01:40,898 jakým způsobem chceme během cyklu náš balónek měnit. 31 00:01:40,898 --> 00:01:43,403 Chceme, aby byl balónek nakreslen přes obrazovku. 32 00:01:43,403 --> 00:01:47,627 Chceme, aby byl nakreslen tady a pak tady a tady. 33 00:01:47,627 --> 00:01:51,043 Chceme, aby to udělal počítač, protože moje kresba je opravdu špatná. 34 00:01:51,043 --> 00:01:54,161 Můžeme to provést změnou tohoto prvního čísla. 35 00:01:54,161 --> 00:01:57,591 A to, jak dobře víte, ovládá polohu x: tedy polohu do strany. 36 00:01:57,931 --> 00:01:59,714 Ale myslím si, že je to celkem chabé. 37 00:01:59,714 --> 00:02:02,700 Ani to moc nepřipomíná ten obrázek, který jsme viděli předtím. 38 00:02:02,700 --> 00:02:06,276 Takže místo toho toto nazveme x, pro polohu x. 39 00:02:06,276 --> 00:02:10,727 A uděláme proměnnou, která bude mít zhruba stejnou hodnotu. 40 00:02:11,108 --> 00:02:14,112 Nyní budeme tuto proměnnou měnit uvnitř našeho cyklu. 41 00:02:14,112 --> 00:02:15,912 Použijeme tedy cyklus while. 42 00:02:15,912 --> 00:02:21,816 A poté uvnitř tohoto cyklu řekneme, že se x pokaždé změní o 20. 43 00:02:21,816 --> 00:02:24,969 Poté přesuneme tuto elipsu dovnitř, ale musíme být velmi opatrní. 44 00:02:24,969 --> 00:02:27,336 Pokud elipsu nepřesuneme dovnitř, 45 00:02:27,336 --> 00:02:30,439 budeme akorát přemýšlet o tom, co se v programu pokazilo. 46 00:02:30,439 --> 00:02:34,285 Pokud chcete, klidně si to vyzkoušejte sami. 47 00:02:34,285 --> 00:02:39,698 A nyní k naší třetí otázce: "Jak dlouho chceme kód opakovat?" 48 00:02:39,698 --> 00:02:41,168 Chceme pokračovat do té doby, 49 00:02:41,168 --> 00:02:43,568 dokud se nedostaneme za okraj obrazovky. 50 00:02:43,568 --> 00:02:45,957 Možná tedy až do bodu, kdy je x je menší než 400. 51 00:02:45,957 --> 00:02:48,304 Teď je to zajímavé, protože se něco děje. 52 00:02:48,304 --> 00:02:50,743 Ale není to úplně to, co jsme si představovali. 53 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, 54 00:02:54,029 --> 00:02:56,479 abychom se dostali do bodu, který jsme si vymezili. 55 00:02:56,479 --> 00:02:59,940 Zaprvé, elipsy jsou moc nahuštěny, takže to musíme napravit. 56 00:02:59,940 --> 00:03:02,319 Je dobré dát jim trochu volného místa. 57 00:03:02,319 --> 00:03:05,699 Možná jdou ale pořád příliš daleko od stran obrazovky, 58 00:03:05,699 --> 00:03:11,618 takže pokud změníme koncový bod, mohou elipsy začít mizet. 59 00:03:11,618 --> 00:03:12,697 Protože tím říkáme, 60 00:03:12,697 --> 00:03:16,507 že jakmile se nám x bude blížit této hodnotě, přestaň kreslit. 61 00:03:16,507 --> 00:03:19,385 A to je to, co říká tato část cyklu while. 62 00:03:19,385 --> 00:03:21,125 Dále můžeme také říct: 63 00:03:21,125 --> 00:03:24,945 Možná chceme trochu pozměnit elipsy, chceme je všechny posunout dolů. 64 00:03:24,945 --> 00:03:29,138 Chceme trochu změnit jejich velikost. 65 00:03:29,138 --> 00:03:30,838 Skvělou věcí na cyklu while je to, 66 00:03:30,838 --> 00:03:33,838 že můžeme všechny změny provést pro všechny najednou. 67 00:03:33,838 --> 00:03:36,576 Teď je to dokonalé. 68 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. 69 00:03:40,000 --> 00:03:43,892 Pokud se nám líbí, musíme je uvázat, jinak nám odletí. 70 00:03:43,892 --> 00:03:46,013 Pro každou z nich potřebujeme čáru. 71 00:03:46,013 --> 00:03:50,573 Potřebujeme umístit čáru do středu každého z těchto balónků. 72 00:03:50,573 --> 00:03:51,562 Aby to bylo snadné. 73 00:03:51,562 --> 00:03:55,282 A pak se všechny čáry sejdou ve stejném bodě, asi takto. 74 00:03:55,282 --> 00:03:59,200 Jak přimějeme náš program, aby to udělal namísto nás? 75 00:03:59,505 --> 00:04:01,621 Vzpomeňme si, že pokud chceme něco opakovat, 76 00:04:01,621 --> 00:04:03,620 musíme to vložit dovnitř while cyklu. 77 00:04:03,620 --> 00:04:05,048 Uděláme tedy tuto čáru. 78 00:04:05,048 --> 00:04:07,377 Pokud chceme, aby toto bylo v samém středu elipsy, 79 00:04:07,377 --> 00:04:10,141 musíme to mít počáteční pozici na těchto dvou souřadnicích. 80 00:04:10,632 --> 00:04:13,638 Řekněme, že to skončí kdekoli. 81 00:04:14,068 --> 00:04:15,498 Celkem jsme se trefili. 82 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. 83 00:04:21,291 --> 00:04:23,655 Nejprve pojďme opravit tuto ošklivou věc. 84 00:04:23,655 --> 00:04:28,633 Což je to, že se námi nakreslené čáry překrývají s balónky. 85 00:04:28,703 --> 00:04:29,703 To není dobře. 86 00:04:29,813 --> 00:04:32,459 Ve skutečnosti chceme, aby elipsy provázek zakrývaly. 87 00:04:32,459 --> 00:04:35,249 A to upravíme jednoduše tím, že změníme pořadí. 88 00:04:35,249 --> 00:04:38,964 Pravděpodobně se zde objeví spousta věcí, které jste se již naučili. 89 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. 90 00:04:42,555 --> 00:04:45,533 A jak to udělat, pokud program děláme úplně sami? 91 00:04:45,533 --> 00:04:47,424 Můžeme se podívat na dokumentaci. 92 00:04:47,424 --> 00:04:50,632 Pokud byste nevěděli jak, podívali byste se na video o dokumentaci. 93 00:04:50,632 --> 00:04:54,314 Můžeme pokračovat a pomocí stroke() nastavit barvu těchto čar. 94 00:04:54,804 --> 00:05:00,253 A dám jim barvu, nevím, možná něco takovéto? 95 00:05:00,253 --> 00:05:01,544 A je to krásné! 96 00:05:01,544 --> 00:05:05,852 A poslední, co musíme udělat, je namalovat Hoppera. 97 00:05:05,852 --> 00:05:10,152 Toho docílíme tím, že ho vložíme jako obrázok, takhle. 98 00:05:10,152 --> 00:05:12,936 Jak jsem na to přišla naleznete v dokumentaci. 99 00:05:12,936 --> 00:05:16,536 Ještě si pohrám s polohou, aby Hopper v ruce držel balónky. 100 00:05:19,339 --> 00:05:20,214 Jsme hotovi! 101 00:05:20,214 --> 00:05:22,551 Můžete zkusit balónky ozdobit, 102 00:05:22,551 --> 00:05:26,534 nebo do tohoto cyklu něco přidat, aby byly balónky trochu zajímavější. 103 00:05:26,544 --> 00:05:30,544 Můžete dokonce použít cyklus u vaší další kresby.