[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:01.08,0:00:03.63,Default,,0000,0000,0000,,Дорогоцінний камінь, дуже гарний камінь! Dialogue: 0,0:00:03.92,0:00:06.04,Default,,0000,0000,0000,,Але ви знаєте, що краще\Nніж один дорогоцінний камінь? Dialogue: 0,0:00:06.04,0:00:08.28,Default,,0000,0000,0000,,Це цілий ряд дорогоцінних каменів! Dialogue: 0,0:00:08.28,0:00:09.56,Default,,0000,0000,0000,,І, звичайно ж, тепер ми знаємо, Dialogue: 0,0:00:09.56,0:00:12.38,Default,,0000,0000,0000,,найкращий спосіб, щоб зробити ряд\Nдорогоцінних каменів, з допомогою циклів. Dialogue: 0,0:00:12.38,0:00:15.95,Default,,0000,0000,0000,,Так що давайте використовувати цикл\Nнамалювати 12 дорогоцінних каменів в ряд. Dialogue: 0,0:00:15.95,0:00:19.52,Default,,0000,0000,0000,,Рухаючись зліва направо\Nпо всьому екрану. Dialogue: 0,0:00:19.52,0:00:21.62,Default,,0000,0000,0000,,Щось на зразок цього. Dialogue: 0,0:00:21.62,0:00:26.01,Default,,0000,0000,0000,,отже це є " for (var i = 0; Dialogue: 0,0:00:26.01,0:00:30.69,Default,,0000,0000,0000,,i < 12; i ++) Dialogue: 0,0:00:30.69,0:00:34.94,Default,,0000,0000,0000,,А потім ми візьмемо цей рядок\Nі перемістимо його всередину сюди Dialogue: 0,0:00:35.91,0:00:37.98,Default,,0000,0000,0000,,Так що тепер у нас є\N12 дорогоцінних каменів, Dialogue: 0,0:00:37.98,0:00:40.30,Default,,0000,0000,0000,,але вони насправді всі поскладані\Nзверху один на одному. Dialogue: 0,0:00:40.30,0:00:43.40,Default,,0000,0000,0000,,Пам'ятаєте, що ми хочемо, щоб вони\Nбули по всьому екрану. Dialogue: 0,0:00:43.40,0:00:45.94,Default,,0000,0000,0000,,Це означає, що ми хочемо\Nщоб змінювався "х". Dialogue: 0,0:00:45.94,0:00:49.32,Default,,0000,0000,0000,,А прямо зараз, "x" має 36 але ми \Nхочемо, щоб вона була кожного разу різною. Dialogue: 0,0:00:49.32,0:00:51.75,Default,,0000,0000,0000,,Це означає, що ми хочемо, щоб вона\Nзалежала від "і". Dialogue: 0,0:00:51.75,0:00:56.33,Default,,0000,0000,0000,,Так що ми можемо це зробити\Nпросто ввівши: "i" помножити 36 разів. Dialogue: 0,0:00:56.33,0:01:01.63,Default,,0000,0000,0000,,Таким чином, перший це 0,\Nа потім 36, і 72, і так далі, і так далі. Dialogue: 0,0:01:02.32,0:01:04.40,Default,,0000,0000,0000,,класно! Тепер у нас є ряд\Nдорогоцінних каменів. Dialogue: 0,0:01:04.40,0:01:05.76,Default,,0000,0000,0000,,І цей видгляд нагадує мені Dialogue: 0,0:01:05.76,0:01:07.100,Default,,0000,0000,0000,,ті сцени, що в\NІндіані Джонс або Аладіні, Dialogue: 0,0:01:07.100,0:01:11.31,Default,,0000,0000,0000,,де герой знаходить\Nпідземний скарб з дорогоцінних каменів, Dialogue: 0,0:01:11.31,0:01:13.73,Default,,0000,0000,0000,,але вони зазвичай знаходять\Nнабагато більше, ніж ці. Dialogue: 0,0:01:13.73,0:01:17.31,Default,,0000,0000,0000,,Не тільки ряд дорогоцінних каменів\Nале купу каміння. Dialogue: 0,0:01:17.31,0:01:20.40,Default,,0000,0000,0000,,то, як ми зробити щоб дорогоцінні камені Dialogue: 0,0:01:20.40,0:01:23.68,Default,,0000,0000,0000,,йшли також вздовж всього екрану вниз? Dialogue: 0,0:01:24.46,0:01:29.54,Default,,0000,0000,0000,,Ну, ми могли б почати з того, що повторили\Nб цикл for, а потім скопіювали і вставити, Dialogue: 0,0:01:30.45,0:01:32.80,Default,,0000,0000,0000,,але потім змінювали б "Y" кожного разу. Dialogue: 0,0:01:34.36,0:01:37.69,Default,,0000,0000,0000,,І, таким чином ми змінимо її\Nна 60, а потім на 90. Dialogue: 0,0:01:37.69,0:01:42.04,Default,,0000,0000,0000,,Так, що тепер у нас є три ряди каменів\Nі це круто Dialogue: 0,0:01:42.04,0:01:44.26,Default,,0000,0000,0000,,але це також стає дуже нудним Dialogue: 0,0:01:44.26,0:01:48.83,Default,,0000,0000,0000,,тому що все, що я роблю це копіюю і \Nвставляюю змінюючи цю одну маленьку річ. Dialogue: 0,0:01:48.83,0:01:52.68,Default,,0000,0000,0000,,І, зазвичай, в минулому, коли ми починали\Nписати повторюваний код як зараз Dialogue: 0,0:01:52.68,0:01:56.22,Default,,0000,0000,0000,,ми думали, "О, можливо нам слід просто,\Nвикористати цикл замість цього" Dialogue: 0,0:01:56.70,0:01:58.61,Default,,0000,0000,0000,,але ми вже використовуємо цикл; Dialogue: 0,0:01:58.61,0:02:01.01,Default,,0000,0000,0000,,Отже, що робити\Nщоб уникнути написання цього, Dialogue: 0,0:02:01.01,0:02:03.85,Default,,0000,0000,0000,,Ви знаєте, повторювання цього\Nкопіювання-вставляння? Dialogue: 0,0:02:03.85,0:02:09.10,Default,,0000,0000,0000,,Ну, це те, що ми називаємо\N"Вкладені цикли for": цикл в циклі. Dialogue: 0,0:02:09.10,0:02:11.85,Default,,0000,0000,0000,,І, те, що ми будемо робити\Nце створимо зовнішній цикл, Dialogue: 0,0:02:11.85,0:02:14.85,Default,,0000,0000,0000,,і це те, що буде дбати про рух\Nвздовж екрану до низу, Dialogue: 0,0:02:14.85,0:02:19.23,Default,,0000,0000,0000,,і тоді наш внутрішній цикл буде\Nслідкувати про те, що робиться зараз, Dialogue: 0,0:02:19.23,0:02:20.100,Default,,0000,0000,0000,,рух зліва направо. Dialogue: 0,0:02:21.98,0:02:23.41,Default,,0000,0000,0000,,Дозвольте мені показати вам,\Nщо я маю на увазі. Dialogue: 0,0:02:23.76,0:02:29.72,Default,,0000,0000,0000,,Отже, "for"- і ми використаємо іншу змінну\N"j" так як ми вже використовуємо "i" Dialogue: 0,0:02:29.72,0:02:35.97,Default,,0000,0000,0000,,І так, "for(var j = 0" ми введемо, що \N"j < 13; j++)". Dialogue: 0,0:02:37.27,0:02:41.36,Default,,0000,0000,0000,,Тому, це буде наш зовнішній контур,\Nвідповідальний за рух зверху вниз. Dialogue: 0,0:02:41.76,0:02:45.04,Default,,0000,0000,0000,,І тоді ми тільки збираємося взяти\Nодин з наших попередніх циклів for, Dialogue: 0,0:02:45.04,0:02:49.44,Default,,0000,0000,0000,,і помістимо його всередину там\Nі зафіксуємо відступи, Dialogue: 0,0:02:50.27,0:02:52.16,Default,,0000,0000,0000,,ми видалимо ці старі. Dialogue: 0,0:02:52.94,0:02:55.45,Default,,0000,0000,0000,,Отже, тепер те, що у нас є Dialogue: 0,0:02:55.45,0:02:58.03,Default,,0000,0000,0000,,це всі вони поскладані один на одному\Nзверху в тому ж рядку. Dialogue: 0,0:02:58.48,0:03:01.97,Default,,0000,0000,0000,,І так, справа в тому, що ми хочемо\Nзмінити "у", чи не так? Dialogue: 0,0:03:01.97,0:03:03.100,Default,,0000,0000,0000,,Це те, що ми змінювали до того\Nколи копіювали і вставляли. Dialogue: 0,0:03:03.100,0:03:05.84,Default,,0000,0000,0000,,і прямо зараз, "у" завжди 90. Dialogue: 0,0:03:05.84,0:03:08.71,Default,,0000,0000,0000,,Ми хочемо змінити "y" для кожного рядка. Dialogue: 0,0:03:09.20,0:03:15.31,Default,,0000,0000,0000,,Отже, шлях по "х" залежить від "i",\Nми хочемо, щоб "у" залежала від "j". Dialogue: 0,0:03:15.84,0:03:19.17,Default,,0000,0000,0000,,Таким чином, ми далі і змінемо це. Dialogue: 0,0:03:19.17,0:03:23.80,Default,,0000,0000,0000,,щось на зразок, можливо, \N"j" помножити на 30. Dialogue: 0,0:03:24.43,0:03:29.24,Default,,0000,0000,0000,,Ура! Так багато дорогоцінних каменів!\NЧудово! Dialogue: 0,0:03:29.70,0:03:32.34,Default,,0000,0000,0000,,Давайте розглянемо, що це робить ще раз. Dialogue: 0,0:03:32.34,0:03:37.06,Default,,0000,0000,0000,,Зовнішній цикл створює цю змінну "j"\Nі збільшує його до 13 Dialogue: 0,0:03:38.34,0:03:42.82,Default,,0000,0000,0000,,У кожному виконанні зовнішнього циклу,\Nвін запускає цей внутрішній цикл. Dialogue: 0,0:03:43.58,0:03:48.03,Default,,0000,0000,0000,,І внутрішній цикл створює\Nзмінну "i" що збільшується до 12. Dialogue: 0,0:03:48.03,0:03:50.06,Default,,0000,0000,0000,,І для кожного\Nвиконання внутрішнього циклу, Dialogue: 0,0:03:50.06,0:03:54.15,Default,,0000,0000,0000,,він малює картинку по "х" та "у"\Nщо базуються на "i" та "j". Dialogue: 0,0:03:54.98,0:03:58.71,Default,,0000,0000,0000,,І ця "i" змінюється набагато частіше\Nніж "J" через це. Dialogue: 0,0:03:59.29,0:04:01.23,Default,,0000,0000,0000,,Щоб спробувати і зрозуміти \Nце, навіть ще краще, Dialogue: 0,0:04:01.23,0:04:04.44,Default,,0000,0000,0000,,спробуємо візуалізувати\Nзначення "i" та "j" Dialogue: 0,0:04:04.88,0:04:09.06,Default,,0000,0000,0000,,Тому, я прокоментую зображення, Dialogue: 0,0:04:09.06,0:04:11.64,Default,,0000,0000,0000,,а потім встановлю колір заливки, Dialogue: 0,0:04:11.64,0:04:14.98,Default,,0000,0000,0000,,і я збираюся використати текстову команду\Nщоб показати значення 'j'. Dialogue: 0,0:04:14.98,0:04:20.04,Default,,0000,0000,0000,,Отже "text(j..." а потім я поставлю у\Nвідповідному місці тут. Dialogue: 0,0:04:21.04,0:04:25.57,Default,,0000,0000,0000,,Гаразд, тепер ми можемо бачити, що "j"\Nйде від 0 до 12. Dialogue: 0,0:04:25.57,0:04:29.74,Default,,0000,0000,0000,,Це по суті, де наші ряди каменів\Nрозташовані так само. Dialogue: 0,0:04:31.57,0:04:34.93,Default,,0000,0000,0000,,І зараз ми візуалізмуємо "i" і побачимо\Nяк вона змінюється. Dialogue: 0,0:04:35.17,0:04:38.89,Default,,0000,0000,0000,,Отже, для "i" зробимо інший колір. Dialogue: 0,0:04:42.59,0:04:45.64,Default,,0000,0000,0000,,Тоді ми поставимо кудись "i" Dialogue: 0,0:04:46.24,0:04:49.48,Default,,0000,0000,0000,,І ми змінимо її "х"\Nтак, що вона з'явиться по всьому екрану. Dialogue: 0,0:04:49.48,0:04:53.34,Default,,0000,0000,0000,,Ми зробимо те ж саме для "у". Dialogue: 0,0:04:54.25,0:04:59.56,Default,,0000,0000,0000,,Тепер ми можемо бачити, що "i"\Nйде від 0 до 11. Dialogue: 0,0:04:59.56,0:05:04.33,Default,,0000,0000,0000,,Отже. "i" як я вже говорила,\Nзмінюється багато частіше. Dialogue: 0,0:05:04.33,0:05:08.62,Default,,0000,0000,0000,,І цей рядок коду запускається на виконання\Nнабагато більше разів, ніж цей рядок коду, Dialogue: 0,0:05:08.62,0:05:13.86,Default,,0000,0000,0000,,Так як, цей рядок коду виконується кожний\Nдля виконання цього внутрішнього циклу for Dialogue: 0,0:05:13.86,0:05:16.39,Default,,0000,0000,0000,,в той час я цей к рядок коду\Nтільки виконанується Dialogue: 0,0:05:16.39,0:05:18.31,Default,,0000,0000,0000,,для кожного виконання зовнішнього циклу. Dialogue: 0,0:05:19.17,0:05:22.14,Default,,0000,0000,0000,,Таким чином, це візуалізація з "i" та "j", Dialogue: 0,0:05:22.14,0:05:23.73,Default,,0000,0000,0000,,сподіваюсь це допоможе вам зрозуміти Dialogue: 0,0:05:23.73,0:05:26.23,Default,,0000,0000,0000,,набагато краще, що відбувається з цими\Nвкладеними циклами. Dialogue: 0,0:05:26.35,0:05:29.60,Default,,0000,0000,0000,,Тепер повернемось до наших \Nдорогоцінних каменів, так як вони кращі! Dialogue: 0,0:05:30.14,0:05:34.07,Default,,0000,0000,0000,,Так, що ви багато чого можете зробити з\Nвкладеними циклами for Dialogue: 0,0:05:34.07,0:05:36.65,Default,,0000,0000,0000,,Якщо ви просто подумаєте про\Nвсе на світі Dialogue: 0,0:05:36.65,0:05:39.60,Default,,0000,0000,0000,,який схожий на двовимірну сітку,\Nшахівницу, стьобану ковдру, Dialogue: 0,0:05:39.60,0:05:43.82,Default,,0000,0000,0000,,зірки на прапорі США,\Nкласні візерунки та шпалери Dialogue: 0,0:05:44.24,0:05:46.98,Default,,0000,0000,0000,,почніть з вашої уяви, і\Nпросто пограйтеся з цим кодом, Dialogue: 0,0:05:46.98,0:05:49.40,Default,,0000,0000,0000,,змінюючи зображення. Dialogue: 0,0:05:49.40,0:05:53.17,Default,,0000,0000,0000,,І почну з того, що заміню зображення\Nна серце! Dialogue: 0,0:05:53.58,0:05:58.26,Default,,0000,0000,0000,,Для того, щоб показати вам, наскільки\NЯ люблю вкладені цикли for!