0:00:01.250,0:00:03.667 Zde jsme skončili s naší [br]hrou na hod mincí. 0:00:03.656,0:00:06.360 Začali jsme vygenerováním[br]náhodného čísla mezi 0 a 1. 0:00:06.360,0:00:08.936 Pak jsme číslo zaokrouhlili[br]k nejbližšímu celému číslu. 0:00:08.936,0:00:12.213 Toto nám vrátilo číslo,[br]které bylo buď 0 nebo 1. 0:00:12.214,0:00:15.908 Následně jsme pomocí elipsy[br]nakreslili tuto realistickou minci. 0:00:15.909,0:00:18.908 Ta je buď fialová nebo žlutá,[br]v závislosti na číslu. 0:00:18.909,0:00:20.986 A zde pro to máme kód. 0:00:20.987,0:00:24.158 Pokud je "integer" 0,[br]použij fialovou barvu. 0:00:24.159,0:00:25.818 Jinak použij žlutou. 0:00:25.819,0:00:27.916 Minci nakreslíme[br]tady tím dole. 0:00:27.917,0:00:30.924 Teď jsem se ale rozhodla,[br]že moje mince má 3 strany. 0:00:30.925,0:00:32.454 Ano, třístranná mince. 0:00:32.455,0:00:34.189 Pojďme tedy přidat[br]tu třetí stranu. 0:00:34.190,0:00:37.108 Začnu určením[br]čísla mezi 0 a 2. 0:00:37.109,0:00:41.532 To mi po zaokrouhlení vrátí číslo,[br]které bude buď 0, 1 nebo 2. 0:00:41.533,0:00:45.608 V našem kódu pro kreslení[br]jsme ale pokryli pouze 2 případy. 0:00:45.609,0:00:48.814 Pokud je "integer" 0, použij fialovou,[br]jinak použij žlutou. 0:00:48.815,0:00:51.884 Nyní "jinak" může značit[br]0, 1 nebo 2. 0:00:51.885,0:00:54.870 Co kdybych udělala to samé, [br]co jsem udělala předtím? 0:00:54.870,0:00:56.358 Ale uvnitř bloku "else". 0:00:56.358,0:00:57.536 Napíšu tedy: 0:00:57.536,0:01:04.668 Pokud se "integer" rovná 1,[br]použij žlutou barvu (tak jako předtím). 0:01:05.786,0:01:09.877 Jinak nastavíme barvu[br]na červenou. 0:01:09.853,0:01:11.402 To by šlo. 0:01:11.403,0:01:12.577 Toto znamená, 0:01:12.578,0:01:18.917 že pokud je "integer" 0, použij fialovou,[br]jinak pokud je 1, použij žlutou, 0:01:18.917,0:01:24.222 jinak – pokud není 0 ani 1 ale 2,[br]použij barvu červenou. 0:01:24.626,0:01:28.585 Několikrát to spustím[br]a funguje to! 0:01:28.566,0:01:30.865 Kdybych chtěla k minci[br]přidat další strany, 0:01:30.866,0:01:34.039 mohla se vrátit sem nahoru,[br]a určit číslo mezi 0 a 3. 0:01:34.039,0:01:35.857 Pak bych prohloubila[br]tento "else" blok. 0:01:35.857,0:01:38.096 Poté bych měla více[br]if-else příkazů a tak dále. 0:01:38.096,0:01:40.157 Až bych měla hromadu[br]vnořených bloků. 0:01:40.158,0:01:44.703 A až poté bych si uvědomila,[br]že je tento kód nechutný! 0:01:44.704,0:01:48.760 Kód by měl být lehce čitelný a pěkný,[br]a ne tak odporný, jak jen to jde. 0:01:48.761,0:01:50.729 Tady je to, co uděláme. 0:01:50.730,0:01:55.675 Kdykoli máme jeden příkaz "if",[br]nebo "if-else" příkaz v bloku "else", 0:01:55.675,0:02:03.782 a opravdu nic jiného neděláme,[br]nenastavujeme žádnou barvu ani příkaz. 0:02:04.766,0:02:08.443 Vše co máme je jen jeden příkaz "if",[br]který obsahuje blok "else". 0:02:08.443,0:02:12.755 V tom případě můžeme příkaz[br]spojit s předcházející řádkou. 0:02:12.756,0:02:17.073 Pokud platí, že "else if (integer === 1)",[br]nastav barvu na žlutou. 0:02:17.073,0:02:19.948 A tento poslední "else" blok[br]není vnořený nikde. 0:02:19.949,0:02:22.318 Umístíme ho na samý konec. 0:02:22.319,0:02:24.586 Toto celé teď znamená: 0:02:24.587,0:02:27.326 Pokud je "integer" rovný 0,[br]nastav fialovou, 0:02:27.327,0:02:30.234 jinak pokud je rovný 1,[br]nastav žlutou, 0:02:30.235,0:02:34.483 jinak – pokud ani jedno není pravda,[br]nastav červenou. 0:02:34.484,0:02:37.737 A jak můžete vidět,[br]stále to funguje. 0:02:37.738,0:02:41.823 Skvělá věc je, že můžeme mít[br]tolik else-if, kolik jen chceme. 0:02:41.824,0:02:44.702 A tím pádem je pro mě[br]jednoduché přidat více stran mince. 0:02:44.703,0:02:46.608 Pojďme to teď udělat. 0:02:46.608,0:02:48.000 Určíme číslo mezi[br]0 a 3. 0:02:48.000,0:02:51.631 Poté přidáme ještě jeden[br]else blok, který vypadá takto: 0:02:51.631,0:02:59.614 else if (integer === 2),[br]vybarvíme červenou. 0:02:59.658,0:03:03.287 A tento poslední else blok použijeme,[br]když bude "integer" roven 3. 0:03:03.288,0:03:05.519 Vybarvíme minci na modro. 0:03:09.586,0:03:13.115 Abyste toto mohli udělat,[br]musíte vždy začít s příkazem if. 0:03:13.116,0:03:16.879 A poté můžete použít tolik else-if [br]příkazů, kolik jen chcete. 0:03:16.879,0:03:18.697 A tento poslední je volitelný. 0:03:18.698,0:03:19.927 Vlastně ho nepotřebujeme. 0:03:19.928,0:03:22.349 Potom je ale možné, [br]že bude vše nepravdivé. 0:03:22.349,0:03:24.280 A tím pádem se žádný[br]z bloků nepřehraje. 0:03:24.280,0:03:30.253 Ale dokud ho tam máme,[br]jeden z bloků se přehraje určitě. 0:03:31.284,0:03:33.947 Tohle je případ, [br]kdy moc nezáleží na tom, 0:03:33.947,0:03:40.027 jestli řeknete if-else, if-else nebo[br]použite jen obyčejný if příkaz. 0:03:40.027,0:03:41.858 Tak jako na začátku. 0:03:41.929,0:03:45.538 Například:[br]if (integer === 3). 0:03:45.539,0:03:47.011 A to kvůli tomu, 0:03:47.011,0:03:51.197 že není možné, aby se "integer" rovnal[br]0 a zároveň 1, 2 nebo 3. 0:03:51.198,0:03:54.222 Tyto podmínky se [br]všechny vzájemně vylučují. 0:03:54.223,0:03:56.608 Vždy se přehraje pouze jeden[br]z těchto bloků. 0:03:56.609,0:03:58.277 Nemusí tomu tak [br]ale vždy být. 0:03:58.278,0:04:01.635 Co kdybychom udělali podobnou hru[br]bez zaokrouhlování na celé číslo? 0:04:01.636,0:04:04.484 Část pro zaokrouhlení [br]teď odstraním. 0:04:04.485,0:04:06.639 Odstraním i část[br]pro kreslení. 0:04:06.640,0:04:09.359 A pojďme pro mou hru[br]nastavit nová pravidla. 0:04:09.359,0:04:12.616 Pořád generuji číslo[br]mezi 0 a 3. 0:04:13.566,0:04:15.775 Rozšířím osu o[br]více čárek. 0:04:16.815,0:04:22.778 Řekněme, že pokud bude číslo mezi 0 a 1,[br]použijeme barvu fialovou. 0:04:26.643,0:04:30.503 Pokud bude číslo mezi 1 a 2,[br]použijeme barvu žlutou. 0:04:30.504,0:04:35.532 A pokud bude číslo mezi 2 a 3,[br]použijeme barvu červenou. 0:04:35.533,0:04:39.290 Pojďme to teď provést pomocí[br]příkazů if a else-if. 0:04:39.291,0:04:43.881 Začnu: pokud je "number"[br]menší než 1. 0:04:43.882,0:04:48.177 Takže je menší než 1,[br]ale zároveň je mezi 0 a 3. 0:04:48.177,0:04:50.116 Tím pádem musí[br]být v tomto rozmezí. 0:04:50.866,0:04:53.126 V tom případě nastavím[br]barvu fialovou. 0:04:55.806,0:05:03.880 Jinak pokud bude číslo menší než 2,[br]nastavím barvu žlutou. 0:05:06.652,0:05:11.993 A jinak nastavím výplň[br]na červeno. 0:05:14.773,0:05:16.255 Pracuje to tak, jak má. 0:05:16.256,0:05:19.686 Pokud je číslo menší než 1,[br]nachází se v tomto rozmezí. 0:05:19.687,0:05:23.602 Jinak je větší nebo rovno 1,[br]ale zároveň méně než 2. 0:05:23.603,0:05:26.731 A tím pádem je v tomto rozmezí,[br]nastavíme tedy žlutou. 0:05:26.732,0:05:31.900 Jinak musí být větší či rovno 2,[br]a bude tím pádem v tomto rozmezí. 0:05:31.900,0:05:34.675 A tady je případ toho,[br]co bychom nemohli říct: 0:05:34.675,0:05:39.379 Pokud je číslo menší než 2[br]a pokud je menší než 3. 0:05:39.379,0:05:40.192 A to kvůli tomu, 0:05:40.192,0:05:43.152 že pokud je číslo menší než 1,[br]tak ja zároveň menší než 2. 0:05:43.152,0:05:44.718 A stejně tak bude menší než 3. 0:05:44.718,0:05:46.780 Tím pádem bude naše mince[br]pokaždé červená. 0:05:46.781,0:05:50.781 A proto se hodí používat[br]příkaz else-if.