WEBVTT 00:00:01.697 --> 00:00:04.184 Ось функція про яку ви можете не знати – "random" 00:00:04.184 --> 00:00:07.337 Вона має два параметри: нижня межа і верхня межа, 00:00:07.337 --> 00:00:10.587 і вона дає вам випадкове число, що є між цими двома межами. 00:00:10.587 --> 00:00:14.392 І так, ця змінна "number" буде десь між нулем і одиницею. 00:00:14.872 --> 00:00:18.232 Тоді ми будемо виводити це число на полотні за допомогою функції "text" 00:00:18.642 --> 00:00:21.868 Ці останні два параметри це є "х" та "у" координати тексту 00:00:21.868 --> 00:00:25.548 і ми використовуємо "textSize" та "fill" щоб задати заливку та колір тексту 00:00:25.848 --> 00:00:27.915 Отже, якщо я натисну "Restart" декілька раз 00:00:27.915 --> 00:00:30.245 ви можете побачити, що числа згенеровані випадково 00:00:30.245 --> 00:00:33.632 і ви побачите закономірність чих чисел, це три знаки після коми. 00:00:33.632 --> 00:00:35.105 Тому питання - 00:00:35.105 --> 00:00:38.365 Що робити, якщо я хочу генерувати число, що тільки нуль або один? 00:00:38.365 --> 00:00:41.793 Що ж, ми можемо використати іншу функцію, що зветься "round", 00:00:42.083 --> 00:00:45.753 і вона може вмііщати в числі, стільки знаків після коми, скільки ви захочете, 00:00:45.753 --> 00:00:48.163 і вона заокруглює до найближчого цілого числа. 00:00:48.163 --> 00:00:51.828 Так, що я просто збираюся продовжувати і зробити нову змінну, що зветься "integer" 00:00:51.828 --> 00:00:53.923 і присвоїти їй усе, що "round" дасть нам. 00:00:53.923 --> 00:00:55.973 І ми також можемо вивести на екран "integer" 00:00:55.973 --> 00:00:58.173 з нашою нехитрою функцією "text" 00:00:58.173 --> 00:01:00.385 Отже, "text(integer 00:01:00.385 --> 00:01:06.235 - ми розмістимо можливо на 160 і 350 координатах. Чудово. 00:01:06.235 --> 00:01:12.115 І так, це показує нам що 'round" числа 0.2314 заокруглює до нуля. 00:01:12.115 --> 00:01:18.007 і якщо я введу щось на зразок 4,6 то це заокруглить мене до 5. Добре. 00:01:18.007 --> 00:01:20.586 Отже, якщо я хочу випадково генерувати нуль або один, 00:01:20.586 --> 00:01:24.256 Я можу взяти цей випадковий дріб, що ми генеруємо, 00:01:24.256 --> 00:01:27.366 що стоїть між нулем та одиницею. 00:01:28.006 --> 00:01:30.486 і внесемо до функції "random" 00:01:30.486 --> 00:01:33.241 Тому, так само як і це: Я збираюсь перетягнути "number" 00:01:33.581 --> 00:01:35.411 і помістити його тут. 00:01:36.121 --> 00:01:37.343 І тепер ми можете бачити, 00:01:37.343 --> 00:01:39.543 що будь-яке число, що генерується меншим за 0,5 00:01:39.543 --> 00:01:41.353 заокруглюється до нуля, 00:01:41.353 --> 00:01:44.777 і щоразу, коли ми генеруємо число, що є більшим або рівним 0,5 00:01:44.777 --> 00:01:46.747 заокруглюється до одиниці. 00:01:47.597 --> 00:01:51.318 Вам може здаватися це початком гри на кшталт - підкидання монети. 00:01:51.318 --> 00:01:54.918 якщо вам випадає нуль, то ваш друг дає вам долара, 00:01:54.918 --> 00:01:57.588 а якщо випадає один, то ваш друг дає вам десять доларів. 00:01:57.588 --> 00:01:58.734 Чудова гра, чи не так? 00:01:58.734 --> 00:02:01.538 А насправді, давайте зробимо більше і проілюструємо цю гру 00:02:01.538 --> 00:02:03.328 з деякими надреалістичними монетами, 00:02:03.328 --> 00:02:06.088 що виглядають як дійсно набридливі еліпси. 00:02:06.088 --> 00:02:10.604 Так як цей: Я намалюю еліпс посередині нашого полотна 00:02:10.604 --> 00:02:12.294 і це буде нашою монетою. 00:02:12.294 --> 00:02:15.284 Ой! Він покриває наш текст. Втечімо трошки вгору. 00:02:16.774 --> 00:02:20.709 Чудово, і в мне є ідея, що коли випадає нуль 00:02:20.709 --> 00:02:23.249 я покажу фіолетову сторону монети, 00:02:23.249 --> 00:02:28.079 тому, щоб зроби монету фіолетовою, я можу просто її заповнити фіолетовим. 00:02:28.739 --> 00:02:32.948 Якщо випаде 1, я покажу жовту сторону монети 00:02:32.948 --> 00:02:35.308 Отже, це буде монета з жовтою та фіолетовою сторонами. 00:02:35.308 --> 00:02:37.778 І на щастя, з нашими вражаючим знаннями оператора "if" 00:02:37.788 --> 00:02:39.333 це надзвичайно легко. 00:02:39.333 --> 00:02:44.571 Ми можемо просто вказати "if" (integer) рівне нулю, 00:02:44.571 --> 00:02:48.221 (Пам'ятаєте, ми використовуємо три знака рівності для перевірки рівності), 00:02:48.221 --> 00:02:53.111 тепер ми заповнимо еліпс фіолетовим. 00:02:53.541 --> 00:02:57.642 Тоді, "if integer" рівне одиниці, 00:02:58.872 --> 00:03:01.122 ми маємо інший зміст функції 00:03:02.282 --> 00:03:04.342 і ми зробимо його жовтим. 00:03:06.302 --> 00:03:09.428 Чудово. І це працює! 00:03:09.838 --> 00:03:11.418 Але задумаємось про це на секунду 00:03:11.418 --> 00:03:14.248 "integer" нубаватиме лише значення нуль або один, чи не так? 00:03:14.248 --> 00:03:15.768 Ми розробили це таким чином 00:03:16.298 --> 00:03:18.932 так, що це означає, що це твердження буде істинним, 00:03:18.932 --> 00:03:21.200 або це твердження буде істинним. 00:03:21.200 --> 00:03:22.294 Завжди. 00:03:22.294 --> 00:03:24.680 Ми розглянули всі можливі варіанти тут, що означає, 00:03:24.680 --> 00:03:27.670 що ми можемо почати думати про наше прийняття рішень трохи по-іншому. 00:03:27.670 --> 00:03:32.368 Тобто, якщо "integer" рівний нулю, ми заповнимо його фіолетовим, 00:03:33.018 --> 00:03:35.298 в іншому випадку, ми заповнимо жовтим. 00:03:35.928 --> 00:03:38.239 Отже, ви бачите, що ми нічого не дописували 00:03:38.239 --> 00:03:40.589 до "integer" рівне один у цьому другому випадку? 00:03:40.589 --> 00:03:41.805 Нам лише потрібно ввести 00:03:41.805 --> 00:03:44.875 якщо "integer" нуль зроби це, в іншому випадку ось це. 00:03:44.875 --> 00:03:47.983 І в програмуванні способом сказати "в іншому випадку" є "else" 00:03:47.983 --> 00:03:49.241 Отже, спостерігайте за цим 00:03:49.241 --> 00:03:53.101 я просто заміню цю другу умову"if" словом "else" 00:03:53.101 --> 00:03:54.622 і це означає, 00:03:54.622 --> 00:03:57.532 що якщо дані всередині цих дужок істинні, 00:03:57.532 --> 00:03:59.652 тоді запустити код в цих дужках. 00:03:59.652 --> 00:04:02.427 В іншому випадку, запустити код в цих дужках. 00:04:02.857 --> 00:04:06.470 Іноді якщо навіть розмістити "else" на тому самому рядку, що і закриття дужки 00:04:06.470 --> 00:04:07.720 просто щоб нагадати собі 00:04:07.720 --> 00:04:10.310 що ці два блоки коду дуже, дуже пов'язані між собою. 00:04:10.310 --> 00:04:13.801 Ви не можете використати "else" блок поки у вас немає "if" блоку 00:04:13.801 --> 00:04:14.951 Зрозуміли? 00:04:15.411 --> 00:04:18.131 Це також допоможе вам запам'ятати, 00:04:18.131 --> 00:04:23.141 що не потрібно ставити щось між цими двома наприклад:"var y = 0" 00:04:23.141 --> 00:04:26.291 і це просто зіпсує все! Тому, не робіть цього. 00:04:27.031 --> 00:04:30.040 Добре. Отже, тепер ми знаємо наскільки If/else насправді хороші 00:04:30.150 --> 00:04:32.660 коли ми вирішуємо між двома можливими варіантами дій. 00:04:32.660 --> 00:04:34.238 Але що, якщо у нас їх більше? 00:04:34.238 --> 00:04:36.968 Що робити, якщо я згенерувала "integer" між нулем та двома 00:04:36.968 --> 00:04:40.408 і тоді у мене було б три варіанти: нуль, один або два? Що тоді? 00:04:41.861 --> 00:04:42.781 Далі буде!