[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.98,0:00:02.17,Default,,0000,0000,0000,,A jsme zpátky u programu, Dialogue: 0,0:00:02.17,0:00:04.41,Default,,0000,0000,0000,,který pomocí pole vypisuje\Nseznam mých kamarádů. Dialogue: 0,0:00:04.41,0:00:06.85,Default,,0000,0000,0000,,Něco se mi ale na něm\Nvůbec nelíbí. Dialogue: 0,0:00:06.85,0:00:09.15,Default,,0000,0000,0000,,Pokaždé, když do pole\Npřidám nového kamaráda, Dialogue: 0,0:00:09.15,0:00:11.40,Default,,0000,0000,0000,,musím zde dolů přidat nový\Ntextový příkaz. Dialogue: 0,0:00:11.40,0:00:13.23,Default,,0000,0000,0000,,Řekněme, že přidám Winstona. Dialogue: 0,0:00:13.23,0:00:15.33,Default,,0000,0000,0000,,Neukáže se jen tak. Dialogue: 0,0:00:15.33,0:00:19.92,Default,,0000,0000,0000,,Pokud chci, aby se ukázal,\Nmusím napsat "text(myFriends[3]...". Dialogue: 0,0:00:19.92,0:00:22.39,Default,,0000,0000,0000,,Potom ještě změním polohu y\Na pak už uvidím Winstona. Dialogue: 0,0:00:22.39,0:00:24.84,Default,,0000,0000,0000,,To je zbytečně moc práce. Dialogue: 0,0:00:24.84,0:00:31.10,Default,,0000,0000,0000,,Chci, aby se při přidání někoho do pole\Nvytvořil textový příkaz automaticky. Dialogue: 0,0:00:31.31,0:00:34.06,Default,,0000,0000,0000,,Pamatujete si, jak jsme\Nse učili cykly? Dialogue: 0,0:00:34.59,0:00:38.21,Default,,0000,0000,0000,,Cykly nám pomohly opakovat\Ntu samou část kódu několikrát za sebou. Dialogue: 0,0:00:38.21,0:00:41.07,Default,,0000,0000,0000,,Například když jsme chtěli\Nmít několik stromů za sebou. Dialogue: 0,0:00:41.07,0:00:42.75,Default,,0000,0000,0000,,Nebo hromadu balónů. Dialogue: 0,0:00:42.75,0:00:46.84,Default,,0000,0000,0000,,Cykly jsou mimo jiné taky \Nskvělým způsobem pro to, Dialogue: 0,0:00:46.84,0:00:49.31,Default,,0000,0000,0000,,jak přehrát část kódu\Npro každý prvek v poli. Dialogue: 0,0:00:49.77,0:00:53.62,Default,,0000,0000,0000,,Cykly použijete skoro vždy, \Nkdyž budete používat pole. Dialogue: 0,0:00:53.62,0:00:56.31,Default,,0000,0000,0000,,Pracují spolu opravdu dobře. Dialogue: 0,0:00:57.43,0:01:00.40,Default,,0000,0000,0000,,Pojďme tedy pro zobrazení\Njmen mých přátel použít cyklus. Dialogue: 0,0:01:00.40,0:01:03.12,Default,,0000,0000,0000,,Použijeme ho namísto všech\Ntěchto textových příkazů. Dialogue: 0,0:01:03.35,0:01:05.34,Default,,0000,0000,0000,,Začneme se třemi otázkami, Dialogue: 0,0:01:05.34,0:01:07.73,Default,,0000,0000,0000,,na které se ptáme vždy,\Nkdyž tvoříme cyklus. Dialogue: 0,0:01:07.73,0:01:09.36,Default,,0000,0000,0000,,První: co chci opakovat? Dialogue: 0,0:01:09.36,0:01:12.58,Default,,0000,0000,0000,,Podívám se, co se opakuje,\Na vidím textový příkaz. Dialogue: 0,0:01:12.76,0:01:14.60,Default,,0000,0000,0000,,Druhá: co chci pokaždé změnit? Dialogue: 0,0:01:14.60,0:01:19.83,Default,,0000,0000,0000,,Podíváme se a zjistíme, že odlišná\Nje poloha y a aktuální index. Dialogue: 0,0:01:19.83,0:01:25.15,Default,,0000,0000,0000,,Kamarádovo číslo a poloha y. Dialogue: 0,0:01:25.31,0:01:27.34,Default,,0000,0000,0000,,Třetí: jak dlouho chceme opakovat? Dialogue: 0,0:01:27.34,0:01:30.73,Default,,0000,0000,0000,,Chceme opakovat, až dokud\Nnevypíšeme všechny kamarády. Dialogue: 0,0:01:33.90,0:01:36.81,Default,,0000,0000,0000,,Teď už víme, co chceme,\Na tím pádem můžeme vytvořit cyklus. Dialogue: 0,0:01:36.95,0:01:40.52,Default,,0000,0000,0000,,Začneme proměnnou pro počítaní,\Nabychom měli přehled o stavu cyklu. Dialogue: 0,0:01:40.52,0:01:43.39,Default,,0000,0000,0000,,Napíšeme:\Nvar friendNum = 0; Dialogue: 0,0:01:44.42,0:01:48.71,Default,,0000,0000,0000,,A číslem 0 začíname kvůli tomu,\Nže je to zároveň prvním číslem pole. Dialogue: 0,0:01:48.71,0:01:50.03,Default,,0000,0000,0000,,Není to číslo 1. Dialogue: 0,0:01:50.03,0:01:51.72,Default,,0000,0000,0000,,Poté máme while cyklus. Dialogue: 0,0:01:51.72,0:01:57.21,Default,,0000,0000,0000,,Napíšeme:\Nwhile(friendNum < myFriends.length) Dialogue: 0,0:01:57.87,0:02:02.80,Default,,0000,0000,0000,,Porovnáme tedy aktuální počítadlo\Ns celkovým počtem věcí v poli. Dialogue: 0,0:02:03.81,0:02:06.90,Default,,0000,0000,0000,,A uvnitř cyklu, tam kde používáme\Ntextové příkazy, Dialogue: 0,0:02:06.90,0:02:11.77,Default,,0000,0000,0000,,napíšeme textový příkaz myFriends,\Nakorát místo čísla napíšeme "friendNum". Dialogue: 0,0:02:11.77,0:02:14.34,Default,,0000,0000,0000,,FriendNum totiž představuje\Naktuální číslo. Dialogue: 0,0:02:14.47,0:02:17.90,Default,,0000,0000,0000,,Pro teď určíme jen jednu pozici. Dialogue: 0,0:02:18.17,0:02:22.03,Default,,0000,0000,0000,,Náš kód momentálně produkuje\Nchybu s nekonečným cyklem. Dialogue: 0,0:02:22.03,0:02:25.55,Default,,0000,0000,0000,,A to kvůli tomu, že jsme \Nohledně friendNum nic nezměnili. Dialogue: 0,0:02:25.55,0:02:30.01,Default,,0000,0000,0000,,Musíme friendNum pokaždé zvyšovat,\Njinak pojede smyčka donekonečna. Dialogue: 0,0:02:30.01,0:02:32.02,Default,,0000,0000,0000,,To kvůli tomu, že by\Nto bylo vždy true. Dialogue: 0,0:02:32.02,0:02:36.13,Default,,0000,0000,0000,,Něco se stalo, teď \Nzakomentuji starý kód. Dialogue: 0,0:02:36.13,0:02:38.32,Default,,0000,0000,0000,,Tím pádem můžu vidět,\Nco se to vlastně stalo. Dialogue: 0,0:02:38.32,0:02:43.54,Default,,0000,0000,0000,,Takže jsme zobrazili všechna jména,\Njsou ale všechna naházena přes sebe. Dialogue: 0,0:02:43.54,0:02:45.49,Default,,0000,0000,0000,,Musíme změnit polohu y. Dialogue: 0,0:02:45.51,0:02:49.24,Default,,0000,0000,0000,,Napíšeme friendNum krát 30. Dialogue: 0,0:02:49.89,0:02:53.07,Default,,0000,0000,0000,,Je to sice fajn, ale Sophia se\Nteď nachází mimo obrazovku. Dialogue: 0,0:02:53.07,0:02:55.31,Default,,0000,0000,0000,,A pokud to zjistí,\Ntak ji to moc nepotěší. Dialogue: 0,0:02:55.31,0:02:59.59,Default,,0000,0000,0000,,Pojďme k tomu přidat 30,\Nčímž je všechny posuneme o 30. Dialogue: 0,0:02:59.59,0:03:03.93,Default,,0000,0000,0000,,Pěkné, teď máme cyklus\Nzobrazující naše pole. Dialogue: 0,0:03:04.36,0:03:07.13,Default,,0000,0000,0000,,A to znamená, že kdybychom\Nměli více lidí, jako Ohnoes Guy, Dialogue: 0,0:03:07.13,0:03:11.88,Default,,0000,0000,0000,,nebo dokonce Sala, z kterého přidáním\Ndo pole udělám svého kamaráda. Dialogue: 0,0:03:12.19,0:03:14.23,Default,,0000,0000,0000,,A teď je můj kámoš. Dialogue: 0,0:03:14.23,0:03:18.12,Default,,0000,0000,0000,,Jak vidíte, nové kamarády to\Nzobrazuje automaticky, Dialogue: 0,0:03:18.12,0:03:20.76,Default,,0000,0000,0000,,protože se to pokaždé\Npřidá do celého pole. Dialogue: 0,0:03:21.00,0:03:24.18,Default,,0000,0000,0000,,Náš starý kód můžeme smazat,\Nuž ho nebudeme potřebovat. Dialogue: 0,0:03:24.18,0:03:27.89,Default,,0000,0000,0000,,Pojďme si teď kód projít\Na zopakovat si, jak vlastně funguje. Dialogue: 0,0:03:27.89,0:03:31.02,Default,,0000,0000,0000,,Začínáme s proměnnou friendNum\Nrovné číslu 0. Dialogue: 0,0:03:31.46,0:03:34.22,Default,,0000,0000,0000,,Zkontrolujeme, zda je friendNum\Nmenší než aktuální délka. Dialogue: 0,0:03:34.22,0:03:36.86,Default,,0000,0000,0000,,Takže si to představíme a vidíme, \Nže 0 je méně než 6. Dialogue: 0,0:03:36.86,0:03:37.86,Default,,0000,0000,0000,,To je pravdivé. Dialogue: 0,0:03:37.86,0:03:41.94,Default,,0000,0000,0000,,Poté jdeme sem a napíšeme:\Ntext(myFriends[friendNum]...) Dialogue: 0,0:03:41.94,0:03:44.44,Default,,0000,0000,0000,,Poprvé by to tedy bylo:\NmyFriends[0]. Dialogue: 0,0:03:44.61,0:03:47.38,Default,,0000,0000,0000,,Dále následuje: \N30 plus 0 krát 30. Dialogue: 0,0:03:47.38,0:03:52.87,Default,,0000,0000,0000,,Čímž se zajistí vyobrazení \NSophie na pozicích 10 a 30. Dialogue: 0,0:03:53.77,0:03:56.22,Default,,0000,0000,0000,,Poté máme friendNum++,\Nčili se hodnota stává 1. Dialogue: 0,0:03:56.22,0:03:59.30,Default,,0000,0000,0000,,Poté se cyklus opakuje a ptá se:\Nje číslo 1 menší než délka pole? Dialogue: 0,0:03:59.30,0:04:00.30,Default,,0000,0000,0000,,Ano, je. Dialogue: 0,0:04:00.30,0:04:02.34,Default,,0000,0000,0000,,A cyklus běží a běží. Dialogue: 0,0:04:02.34,0:04:05.42,Default,,0000,0000,0000,,A potom se dostaneme k Salovi. Dialogue: 0,0:04:05.42,0:04:10.95,Default,,0000,0000,0000,,Sal je šestým prvkem v poli,\Nmá ale index 5 (kvůli začátku na 0). Dialogue: 0,0:04:10.95,0:04:12.80,Default,,0000,0000,0000,,Je 5 méně než 6? Dialogue: 0,0:04:12.80,0:04:13.80,Default,,0000,0000,0000,,Ano, je. Dialogue: 0,0:04:13.80,0:04:18.60,Default,,0000,0000,0000,,Zobrazuje to kamaráda 5\Na poté se hodnota stává 6. Dialogue: 0,0:04:18.60,0:04:20.45,Default,,0000,0000,0000,,A je 6 méně než 6? Dialogue: 0,0:04:20.45,0:04:21.83,Default,,0000,0000,0000,,Ne, není, je to rovno. Dialogue: 0,0:04:21.83,0:04:23.66,Default,,0000,0000,0000,,Podmínka bude \Ntedy nepravdivá (false). Dialogue: 0,0:04:23.66,0:04:25.39,Default,,0000,0000,0000,,Nikdy se tedy \Nnezobrazí šestý prvek. Dialogue: 0,0:04:25.39,0:04:29.07,Default,,0000,0000,0000,,A to je dobře, protože v\Nindexu 6 nic není. Dialogue: 0,0:04:29.07,0:04:33.25,Default,,0000,0000,0000,,Šestý element je, ale \Nindex 6 nic neobsahuje. Dialogue: 0,0:04:33.25,0:04:37.56,Default,,0000,0000,0000,,Může to být celkem matoucí,\Nnejdřív je to 0, pak 1 a pak další. Dialogue: 0,0:04:37.56,0:04:39.03,Default,,0000,0000,0000,,Naučíte se to. Dialogue: 0,0:04:39.59,0:04:41.93,Default,,0000,0000,0000,,To je tedy náš cyklus. Dialogue: 0,0:04:41.93,0:04:45.01,Default,,0000,0000,0000,,Pokud chcete,\Nmůžete klidně použít cyklus for. Dialogue: 0,0:04:45.01,0:04:46.72,Default,,0000,0000,0000,,V případě, že \Npreferuje cyklus for. Dialogue: 0,0:04:46.78,0:04:54.27,Default,,0000,0000,0000,,Pro for cyklus napíšeme\Nfor(var FriendNum = 0) a podmínku. Dialogue: 0,0:04:54.27,0:05:01.24,Default,,0000,0000,0000,,FriendNum je méně než myFriends.length,\Npoté máme přírůstek friendNum++. Dialogue: 0,0:05:01.24,0:05:06.61,Default,,0000,0000,0000,,A do vnitřku for cyklu\Nvložíme tento řádek kódu. Dialogue: 0,0:05:06.61,0:05:11.65,Default,,0000,0000,0000,,Změním polohu x a jak vidíte,\Ndělá to úplně tu samou věc. Dialogue: 0,0:05:12.36,0:05:14.23,Default,,0000,0000,0000,,Takže je na vás,\Nkterý z nich použijete. Dialogue: 0,0:05:14.23,0:05:17.09,Default,,0000,0000,0000,,Důležité je, že použijete cyklus\Nv kombinaci s vaším polem. Dialogue: 0,0:05:17.09,0:05:19.50,Default,,0000,0000,0000,,Učiní vás to opravdu mocnými.