>> ZAMYLA Чан: Здравствуйте і ласкаво просимо до подряпин покрокового керівництва.
Мене звуть Zamyla і я буду ведучим Проходження для вас цього року.
У CS50, кожна проблема набору супроводжується покрокового керівництва.
Під час цих проходжень я піду Проблема набору тижня, поясніть
концепції, необхідні і розбити Проблема встановлені на керовані укусів.
>> Для першого р-множиною в CS50, ми насправді не буду вдаватися у пресі та
машинний код речі зовсім ще.
Швидше, ми збираємося використовувати нуля, програма, яка дозволяє нам досліджувати
програмної концепції, візуальні і творчого шляху.
У цьому покроковому керівництві вивчатиме фундаментальні поняття, які ми будемо використовувати
всій CS50, а також виступаюча в якості чорнового начерку керівництва.
У кожній покрокове керівництво Я перерахую набір інструментів, які можна використовувати для
Проблема набору.
З великих концепцій курсу фактичної функцій, це добре і корисно
знаю, що ви оснащені до вирішення цієї проблеми безліч.
>> По-перше, давайте поговоримо про спрайтів.
Спрайт центральну роль у забезпеченні проектів в хорошому стані.
Кожен об'єкт або кожного символу, будь то кішка, собака або
м'яч, називається спрайта.
Якщо я хочу, скажімо, дві кішки в моєму проекті, Мені потрібно зробити два
в окремих спрайтів нуля, навіть якщо вони абсолютно ідентичні.
>> Кожен спрайт Сценарії, пов'язані з цієї конкретної спрайта.
Сценарії, що ви збираєтеся , Будують шляхом перетягування
і падіння блоків.
Сценарії інструкціям, які виявлення і визначення
як скрипт поводиться.
>> Тепер, спрайт не просто зображеннями.
Спрайт костюм визначає що спрайт виглядає.
Будь-який заданий спрайт може мати більше одного костюма.
Трохи пізніше під час цього покрокового керівництва я буду показати вам, як ви можете мати свій
спрайт костюми зміни під час вашої програми.
>> Щоб створити спрайт, в нуля, ви можете або вибрати свій первісний костюм для
Бібліотека для Scratch, зробити свої власні у Подряпини вбудований в редакторі фарби,
завантажити своє власне зображення, або зробити фотографію з камерою комп'ютера.
Всі спрайт поміщаються від того, що ми називаємо сценою.
Етапі, як наша, де полотно спрайт можуть пересуватися.
>> Хоча ми можемо мати кратні спрайт, може бути тільки один етап.
В іншому випадку, етапи та спрайт досить схожі тим, що етап може
Також є сценарії.
Сценарії на сцені дуже корисні коли у вас немає сценарію, який
не обов'язково відносяться до однієї конкретної спрайта.
Може бути, вона належить до кількох смуги, або взагалі жодної.
>> Це взагалі хороший дизайн, щоб зробити скрипти на сцені, якщо вони
досить загальними і не відносяться конкретних спрайтів.
І так само, як спрайт мають костюми, щаблі мають фонів, які можуть змінити
протягом вашій програмі.
І ви можете зробити власні, завантажте зображення, сфотографувати, або використовувати
Подряпини бібліотеки фонів.
Обидві сцени і спрайт можуть також грати звуки з бібліотеки для Scratch, або
Ви можете завантажити і записати свій власний.
>> Щоб почати свій подряпин програми ви потрібно натиснути на зелений прапор на
верхньому правому кутку сцени вікна.
Але якщо ви нічого не підключайте до цього блоку прямо тут, то нічого немає
насправді станеться, тому що ваш спрайтів і сцени потрібно було пояснювати,
у відповідь на подію зелений прапор бути натиснута.
Таким чином, ви повинні будете докласти блоків канавку в нижній частині зелений
прапор, а потім програма буде виконуватися ті дії, коли ви починаєте
Вашій програмі.
>> Ну, що буде після цього?
Ну, подряпин має багато блоків для вас у використанні, і ви можете
навіть створити свій власний.
Ви побачите три вкладки, скрипти, Костюми та звуки.
Під тегом Сценарії категорій заяв.
Звітність не зручно організовані за кольором.
У вас є дії, пов'язані з рухом, звук, зовнішній вигляд, і так далі.
Хоча ви будете мати інші блоки побудовані навколо вашої заяви, це
заяв, які допоможуть спрайт або на сцену, щоб щось зробити, в той час як
інші блоки допоможе визначити коли їх робити.
>> Припустимо, ви створюєте свій Перший проект, і ви хочете тільки
кішка нявкати за певних обставинах.
Для реалізації цього, ми можемо взяти Перевага логічні.
Ці вислови, які оцінюють або істинними або помилковими.
У подряпин вони ідентифіковані кутами в кінці блоків.
Ви будете мати різні типи логічних значень такі як миша
тиснуть, робить 2 плюс 2 прирівняти до 5, або користувач може натиснути
вниз певної клавіші на клавіатурі?
>> Тепер, ви не можете просто використовувати ці Booleans поодинці.
Вам потрібно буде об'єднати їх з що ми називаємо умовами.
Умова блоків можна знайти в помаранчевий керуючі оператори.
Умови зручно їсти трохи Заповнювач, який показує форму
блок, який необхідно вкласти в неї.
Таким чином, залежно від контексту ситуації, ви можете вибрати логічне
і помістіть його у вашому стані.
І, разом узяті, у вас є умовний оператор.
Як тільки ви поклали заяви, що всередині блокувати вас є структури, створеної
якої один раз на певний стан буде досягнута, ви потім виконати ті
звітності.
>> Однією з переваг комп'ютерів переважна потужності і швидкості, з якою вони
може виконувати повторювані процеси.
Замість того, щоб, скажімо, повторюючи Інструкція знову і знову і знову
знову і фактично ввівши, що з, або У цьому випадку перетягування
і перетягуванням, те, що ми можна буде описати у циклі.
>> Петлі можуть бути використані або виконати речі з нескінченно нескінченний цикл,
або за певну кількість разів.
Наприклад, повторити заяву, скажімо НЕ привіт, в 10 разів, а може бути до певного
умова істинно.
І з цим Repeat Until не блокувати вас бачити, що подряпини натякаючи, що
вам потрібно розмістити булева Repeat Until блоку, щоб зробити
умовний оператор.
>> Тепер ми знаємо, що ми можемо інкапсуліровать повторюваних процесів всередині петлі,
так що ви можете зрозуміти, чому щось подібне це не може бути ідеальним.
Це супер довгий, він просто робить одне і те ж знову і знову
ще раз, 10 разів насправді.
Вона рухається 10 кроків, вітається, рухатися 10 кроків, вітається.
Але за допомогою петлі ми можете очистити це небагато.
Подивіться, як це набагато краще.
Він коротше, це менше, і він завершує те ж саме.
>> Переходячи до змінних.
Змінні по суті контейнери для значень.
У подряпин, ці типи значення можуть або слова або вони можуть бути
номери, цінності, які ми мати контроль над.
У цьому першому блоці ми маємо Текст змінна, що містить
Значення, Hello, World.
У другому прикладі, передбачається, що у нас вже є змінна з ім'ям
Лічильник і ми прирощення його на три.
І потім, в останньому прикладі, ми бачимо, Приклад використанні змінних
Усередині умов.
У цьому блоці, ми просимо, якщо змінна Лічильник менше нуля.
>> Тепер, коли ви створюєте змінну у вас є вирішити, чи варто вам зробити
змінну доступною для всіх спрайтів у вашому подряпин програми або
тільки для конкретних спрайт обраний коли ви робите змінної.
І це дуже важливо рішення.
Все зводиться до того, що обсяг ви хочете мати змінну.
>> Прикладом локальної областю буде мінлива тільки для однієї конкретної спрайт,
Це означає, що тільки що спрайтів б бути в змозі бачити або змінювати його.
Якщо ви визначили змінну з глобальної сферу, вибравши для всіх
спрайт, то це означає, що на сцені, а також всі спрайт,
буде мати можливість бачити, змінювати, і доступу, які
змінної, яку створили.
І з точки зору дизайну, то краще вибрати локальної області видимості, коли ви можете
саме так, що інша частина спрайтів і етапі не доведеться турбуватися про
відстеження цієї змінної.
>> Ви можете насправді є дві змінні то ж назву для різних спрайтів як
Поки ті локальні змінні.
Sprite один, кішка, може мати змінну ім'я лічильника і два спрайта, собака,
також може мати змінну з ім'ям Лічильник тих пір, поки ці
обидва локальних змінних.
Оскільки видимості змінної не поширюється на решті частини
Не програма, і жоден з інших спрайтів або етап буде заплутатися.
>> Раніше я згадував, точка входу, коли зелений прапор натискання блоку.
Цей блок і супутні заяви по суті кажучи
спрайт або сцену, добре, коли зелений прапор натиснута, це
що ви повинні зробити.
Але це не єдиний випадок, який спрайт і етап може реагувати.
У нас є, наприклад, подія для коли клавіша клавіатури натиснута.
Ви дійсно можете вибрати літери через Z, від нуля до дев'яти або
клавіш зі стрілками.
>> Є й інші події, також, таких як тоді, коли спрайт кнопки.
Коли ви починаєте з подією, як блоки ці, ви помітите тенденцію.
Всі вони мають одну групу на дна і гладкою верхній, яка
говориться, що ніщо вище надає цього блоку.
Ви будуєте у відповідності з цими подіями блоки і побудувати вниз.
>> Тепер, що станеться, якщо ми хочемо якоїсь події щоб це відбулося, скажімо, коли кішка
дотику до відомого розділі сцени?
Ми насправді не мають вбудованих в події означають, що, таким чином, що ми будемо
потрібно зробити, це створити наш власний події.
І це називається мовлення.
>> Отже, коли ви хочете, щоб сигналізувати, що певна подія сталося, то ви
використовуйте чорну називається передача, в якій знаходиться в закладці Центр управління.
Там ви зможете ввести назву подія, яке потрібно для передачі, і
Потім залежно від того чи спрайт етап може реагувати на це
трансляцію, якщо ви того побажаєте.
Коли я отримую блок розповідає спрайт, що робити, коли вони
повідомлені, що користувацькі Подія сталася.
Тому пам'ятайте, що всякий раз, коли ви передаєте Подія, це з
розуміння того, що будь-який з спрайт або сцени збирається
отримання цієї події і відповісти на нього.
>> Тепер, останнє поняття перш ніж ми отримаємо на конкретному прикладі подряпин
Програма, є поняття потоків.
Ось коли ваш комп'ютер одночасне виконання
процесів одночасно.
І я впевнений, що ми всі взяті Перевагою цього.
Як серфінг в Інтернеті, а прослуховування музики.
Комп'ютер може виконувати кілька речі в той же час.
>> У цьому прикладі, ці два Сценарії можуть бути використані для
точно такий же спрайта.
Блок точки входу, коли зелений прапор Натиснув, використовується кілька разів, але
це дві різні сценарії.
Дійсно, зелений прапор Натиснув блок ймовірно, буде одним з найбільш
популярні блоки у вашій програмі.
Тут ми бачимо, що, коли зелений прапор натиснута, є один процес, що відбувається
на, а також іншу.
Так Подряпини насправді запустить ці два в той же самий час.
І знаючи, що ви можете фактично мати більше однієї точки входу, навіть якщо
це та ж точка входу, збирається щоб бути дійсно корисним, якщо ви хочете
окремий різні завдання один від одного.
>> Добре.
Так що тепер, коли ми розглянули всі ці ідей, давайте подивимося на прикладі.
Я зробив ряд програм подряпин, тому постарайтеся, щоб слідувати, як ми
зробити невелику гру.
Давайте почнемо з відкриття Голодні Dino Нуль.
>> Давайте натиснемо зелений прапор, щоб почати і подивитися, що він робить.
У нас є помилка спрайт, що рухається для кілька кроків, скидає на деякій висоті, і
Потім кроків назад.
А то у нас Діно спрайта.
При натисканні клавіші зі стрілками, я рухаюся спрайт Dino навколо, що робить його включити
і обертати.
Це може бути забавно, але Є не дуже багато
скрипти в цій програмі.
Ми безумовно можемо додати до цього.
>> Наприклад, коли Діно переміщення дійсно може зійти з екрану і
майже зникають з сайту.
Ми хочемо змінити цю ситуацію, тому що ми не хочуть Dino бігти.
Так давайте припинимо наш скрипт з червоним прапор, а потім відредагувати Dino скрипти.
Зверніть увагу, що саме цей сценарій має нескінченний цикл, який закінчується
рівні краї.
Це не має канавку в нижній частині.
І це має сенс з ім'я, замкнутий цикл.
Він виконується щось нескінченно і ніколи не закінчиться.
Так що це прекрасна можливість введення потоку.
>> Добре.
Тому давайте додамо ще один сценарій.
Я збираюся почати з цим записом точки, коли зелений прапор клацання.
І я хочу, щоб безперервно перевіряє Dino Чи буде
торкаючись краю.
При русі є акуратний блок , Який говорить, Якщо на краї відмов.
І тому ми хочемо, щоб безперервно виконати це.
>> Те, що це твердження не є перевіряє спрайт на краю
сцени, і приходить в норму, якщо вона є.
І тому, що користувач завжди може перемістити Dino, ми хочемо знайти якусь
цикл, який дозволяє нам постійно виконати цю інструкцію.
Дивлячись під контролем ми вибрати Назавжди петлі.
Так що давайте, що перетягнути в Dino скрипти, а потім
Якщо додати на краї відмов.
А потім давайте перевіримо нашу програму.
>> Таким чином, помилка рухається як звичайно, а Потім, якщо ми тестуємо нашу нову сценарієм
переміщення нашого Dino до краю, ми бачимо, що вона не може
уникнути етапі більше.
Він відскакує назад.
Тепер ви можете запитати, чому Діно відскоку, але не помилка.
Ну, це тому, що ми писали, наші новітні Сценарій всередині Dino скрипти
, А не помилки.
Таким чином, помилка не слухатиме ми дали Dino.
>> Добре.
Тому давайте додамо щось нове зараз.
Якщо ви йдете на вкладку костюми ви побачите що різні костюми, які
поставляються з передвстановленою вибраної спрайт Якщо вибрати одне з
Подряпини бібліотеки.
Там ця мила маленька динозавра плямкати костюм, так що давайте реалізуємо Dino
жувати коли ми натискаємо, скажімо, клавішу Пропуск.
>> Повернутися до Діно скрипти.
У цьому скрипті тут, я вже перевірки в нескінченний цикл чи
певні клавіші зі стрілками чиниться тиск і переміщення Діно відповідно.
Якщо вони ліва стрілка натиснута, Dino обертається проти годинникової стрілки.
Якщо стрілка вправо натисканні Dino обертається за годинниковою стрілкою.
Так що, якщо стрілка вгору натиснута, то Dino прогресує вперед.
Ми можемо просто додати в сценарій, а не додавання окремого, тому що це
вже перевірку в темі які клавіші натиснуті.
>> Давайте додамо, яка перевіряє Космічний натиснуто.
Ці блоки тут перевіряють для клавіш натиснута.
Вони всі в яскравих синіх, тому підемо в яскраво-синій зондування
заяв і озирнутися.
Важливо пам'ятати, рознесений блок Press.
Отже, що ми хочемо зробити, це є Dino перейдіть в його рубати костюм
тоді і тільки тоді, коли простір клавіша натиснута.
>> Так що давайте імітують структуру тут.
Тепер, змінюючи костюм має відношення до як Dino виглядає так ми підемо в
Подивіться заяві.
І звичайно ж, у нас є перемикач Костюм Діно Chomp.
Тепер, коли ми Chomp вниз ми не хочемо Dino бути жувати вниз назавжди,
так що давайте додамо заяву говорить це для зворотного перемикання.
Це буде перемикати вигляд костюмів швидко, хоча, тому що в заявах подряпин
буде виконувати спина до спини дійсно швидко, майже миттєво.
Так давайте підемо в управління, а потім зробити Dino паузу, почекавши трохи
одну секунду після того, як чавкає вниз.
>> Тепер давайте редагувати помилка спрайта.
Помилка спрайт п'ять кроків вперед кроки Всього п'ять разів після
хвилини паузи.
У верхньому блоці тут помилка ставить себе в певний
X-координата значення.
Щоб знайти координати Ви можете фактично курсор на екрані і
Потім в нижньому кутку сцени вікна координат буде оновлюватися так
Ви можете скористатися цією зручною особливість для здійснення координат
що ви хочете.
І, в цій заяві тут, ми доручаємо помилка, щоб почати в той же
Значення Х кожен раз, але щоб вибрати випадкову висота для помилка, яка до цих пір
залишається в межах обмежень сцени.
>> Див тут, що я, користуючись випадку мовлення в хорошому стані.
Цей обробник подій викликається Новий Bug1.
Тому, коли помилка отримує Новий Bug1 подією,
він буде виконувати інструкцію.
Так після того, як рухається вперед свій набір кількість разів, він фактично
повідомляє про цю подію Новий Bug1.
>> Але як щодо того, щоб змінити цей сценарій мало?
Зараз у нас є помилка переміщення п'ять кроків.
Це не багато, в загальній п'яти разів.
Ми дійсно не знаємо, скільки разів необхідно, поки помилка не досягне,
скажімо, кінця екрану, так що давайте зробити але досягають кінця
екрані, але використовувати якийсь інші конструкції.
>> Я збираюся розділити це, тому що Ми збираємося змінити кілька речей.
Щоб видалити блоки з нуля перетягування блоків
наліво і потім відпустіть.
І вона буде видалена.
Якщо ви вирішите, що ви не хочете його видалити, то ви можете
перейдіть до Правка й відновити.
Але ми хочемо, щоб отримати позбавитися від цього блоку.
>> Те, що ми хочемо зараз зробити, це перейти, скажімо, 50 кроків і пауза одна секунда, і
Повторіть це, поки ми не чіпати кінця екрана.
Так що давайте використовувати цикл, що дозволяє нам повторіть процес до певного
умова виконується, влучно Чи не названий Repeat Until.
>> Те, що відбувається всередині умови Не з Repeat Until?
Те, що говорить нам про те, помилка стосувалася краю
екран, який буде знаходитися під Чутливий Заяви.
Ось цього логічного, зворушливо.
І ви можете вибрати те, що тут Ви хочете, щоб перевірити.
Тому ми виберемо Зворушлива Край і додати це умовний оператор масштаб
>> Отже, якщо ми дивимося нашу помилку, це буде повернутися знову, як тільки він стосується
краю сцени.
Великий.
Ми закінчили з голодними Dino Нуль, так давайте відкриємо Голодні Dino One.
Ніби як кулінарне шоу, я додав трохи більше можливостей.
Наприклад, ви побачите, що помилка фактично ковзає досить просто зараз
на відміну від раніше.
При русі є це ковзати заяві.
Тепер помилка ковзає 70 одиниць право її поточної експозиції, але
залишається в тому ж положенні у тут.
І ми можемо тепер є Діно жувати як ми реалізували раніше.
>> Але, ця програма не називається Голодний Діон даремно так що давайте
Діно є помилка.
Як ми могли б сказати помилка, або сказати Dino, що він зрубав?
Як ми могли б повідомити про цю подію?
Ну, ми знаємо, що при переході костюм для Діно Діно Chomp
що ми chomped вниз.
І сказати, що ми хочемо, щоб зникнути помилку як тільки він з'їв.
Ну, ми повинні перевірити чи все Дана помилка була і на chomped
повідомляти помилка, вона буде мати Щоб приховати або зникають з екрану
як тільки він був chomped вниз.
>> Що ж це за концепція, які інструменту ми можемо використовувати, щоб мати Dino
повідомляє, що помилка він chomped вниз?
Мовленні.
Так що давайте йти до подій і додати Подія на мовлення.
Chomp.
ОК.
Але пам'ятайте, що як тільки ми транслювати те, що ми також повинні
отримати цю подію.
Отже, який спрайт транслюватиме гризти?
Ну, давайте, що робити Dino Коли простір натисканні клавіші.
>> Давайте додамо блоку, для прийому гризти.
Тепер, коли Діно зводиться тільки на порожній простір ми не хочемо помилку
реагувати на це взагалі, тільки якщо Dino стосувався але в той час
з гризти ми насправді щось робити.
Тому ми будемо використовувати умова Якщо через ми перевіряємо, чи є щось
правда це чи ні.
>> Тепер, якщо ми повернемося до зондування, то ми можемо використовувати цю зворушливу
блоку та виберіть Dino.
Потім, під зовнішній вигляд, ми знаходимо цю Згорнути блок, який буде в основному роблять помилку
зникають зі сцени.
>> Ми зробимо це приховати, але ми робимо хочу ще одну помилку, чи не так?
Наші Dino голодний.
Тому ми хочемо дати йому інший помилка в погоню.
Отже, давайте також транслювалися Bug1 подією Нового.
Крім ми хочемо, щоб почекати деякий час, перед іншим помилка з'являється, так що давайте
Також Зачекайте одну секунду.
>> Добре.
Отже, давайте перевіримо.
Ми chomped вниз, але зникає, інша з'являється, і ми Chomp вниз
на його знову.
Це виглядає як досить задоволення від гри, але всі ігри
потрібно забивати, вірно?
Так що ми можемо використовувати, щоб відстежувати , Скільки помилок Dino з'їла?
Змінної.
Тому давайте додамо змінну Оцінка.
>> А зараз ми повинні вирішити, що сфера ця змінна має.
Так що давайте думати.
У той час як ми могли б хотіти, а й збільшити рахунок, якщо це було
успішно з'їдено, і стадія може щось робити з
Оцінка, так що давайте призначимо цю змінну для всіх спрайтів.
>> Ми хочемо, щоб збільшити рахунок, якщо і тільки тоді, коли помилка була з'їдена.
І ми вже написали сценарій, який має справу з помилкою бути з'їденим так
давайте додамо це одна заява в, Змінити Оцінка по одному.
Це означає, що як тільки ви їсте помилка рахунок збільшується.
>> Давайте грати деякий час, і є, Я не знаю, три помилки.
Таким чином, ви втомилися від гри, ну, Ви натисніть на червону зупинки
підписати, щоб зупинити гру.
І коли ви хочете, щоб повернутися ви будете натисніть зелений прапор знову.
Але рахунок і раніше навіть три хоча я граю нову гру.
Ми не хочемо, щоб дати користувачам голови почати, так що нам потрібно, щоб скинути
забити щоразу, коли почати нову гру.
Тому давайте додамо заяву на сцену автора Сценарій точку входу для установки
Мінлива прирівнюють до нуля.
Так що тепер, всякий раз, коли ви починаєте гру, Оцінка буде починатися з нуля.
>> Тепер давайте відкриємо Голодні Dino 2, де Я додав ще кілька речей.
Я натиснув на праву помилка спрайт дублювати спрайт який зробив
спрайт ідентична моїй попередній.
Отрута помилка по суті, ідентична Bug1 але я вибрав тому, що новий костюм
Я думав, що це було, ну, виду отруйні.
Замість збільшення рахунок, коли отрути помилка їдять, я насправді
знизити оцінку, змінивши Оцінений на мінус одиницю.
>> І тоді я зробив ще один костюм для Dino нашою допомогою фарби редактору
зробити хворі дивлячись Dino і назвав його Dino хворим.
Але ми не використовуємо це в наших костюмах ще немає, так що давайте додамо деякі
заяви та блоки, які змінять Діно костюм зеленого хворими
костюм, коли він їсть отруєний помилка.
>> Тепер, так як ми дублювали помилка спрайт, отруєний помилка має всі
Сценарії, оригінальні помилка робить.
Якщо ви хочете скопіювати скрипти з інші спрайт, ви можете перетягнути
Сценарій на верхній частині спрайта що ви хочете скопіювати.
Але ми не повинні будете зробити це тут тому що отруєні помилка вже має
Сценарій, який перевіряє, що помилка була chomped зверхньо.
І ми можемо скористатися цим, щоб поспілкуватися з Діно, що він з'їв
отруйні помилка.
Ми спілкуємося між спрайт на мовлення.
Так що давайте транслювати нові захід під назвою Dino хворим.
>> І ми знаємо, що у нас є костюм для Діно, щоб змінити, але ми також
знаємо з раніше, що це можливе, щоб додати в паузі
між змінами костюма.
Тому, коли я отримую Dino Хворий, я збираюся змінити костюм, щоб Dino Хворі, почекай
одну секунду, а потім увімкніть повернутися до Dino голодними.
Добре.
Давайте грати у свою гру і з'їсти помилка і жук.
І рахунок зменшується на одиницю.
>> Зараз, іноді можна помітити, що Змінна не може з'явитися на
лівому куті екрану.
Якщо перейти до розділу даних під скрипти, ви побачите цю галочку
поруч зі змінними, які ви створюєте.
І це приховує або показує відразу змінної з екрану.
Але ви також можете використовувати інструкцію Показати називають або
Приховати конкретної змінної.
Так давайте використовувати цей рахунок, щоб Показати змінну переконатися, що кожен раз, коли ми починаємо
ігри, мінлива показано на малюнку.
Великий.
>> Так що давайте запускати ігри і їдять отрути помилка відразу.
Тепер, це трохи дивно мати гру мати негативні моменти, чи не так?
Отже, давайте уявимо ще одну особливість.
Якщо Dino їсть занадто багато отруйних помилки, то він стає занадто хворі і
гра закінчена.
Таким чином, щоб здійснити це, ми будемо транслювати ще одна подія, гра закінчена.
Звідки ми знаємо, коли виконати Game Over цієї трансляції?
>> Ну, ми можемо зробити це кількома способами.
Ми можемо мати сценарій в тій стадії, безперервно перевіряє, чи є оцінка
негативна чи ні, і передачі Гра закінчена, коли
Оцінка стає негативною.
Або ми могли б використовувати в своїх інтересах той факт, що єдиний спосіб рахунок міг коли-небудь
бути негативним, коли отруйні помилка з'їдається.
Тому що, коли ви їсте інші помилка, рахунок збільшується.
Там немає сенсу в перевірці чи вона має бути Game Over або коли ви
є їстівні помилка.
>> Так що ми можемо насправді просто додати до скрипт, який отримує хворий Dino
Подія мовлення.
Ми хочемо доручити Діно наступним чином.
Якщо рахунок менше нуля, транслюватися гра закінчена.
Таким чином, ми будемо будувати Оцінка менше нуля умовах з використанням блоків з
Робоче місце оператора, і перетягнути у нашому рахунок до цього блоку.
І побачити тут ви можете просто перетягнути Оцінений змінних і покласти менше нуля.
І ми збираємося на трансляцію подія, гра закінчена.
>> Але якщо рахунок не пішов нижче нулю, ми хочемо Діно
продовжити гру.
Так що замість того щоб використовувати, якщо тут, давайте використовувати, якщо ще побудувати.
Якщо побудувати ще каже наш Діно зробити одну річ, якщо умова істинно
і інша справа, якщо умова помилково.
Тіло наше перше, якщо може перейти в Якщо ще, так що давайте перетягнути, що дюйм
Але якщо оцінка не менше нуля, потім поміняємося назад в
Голодні костюм Діно.
Ми не хочемо, щоб зробити це в зародку.
Великий.
>> Але так як ми транслювати Гра закінчена, нам все ще потрібно, щоб зробити
Блок приймача подій.
Там насправді Зупинити всі заяви в управлінні, так що давайте підключити його до
коли я отримую Game Over.
Але ми також хочемо, щоб зупинити помилку, так що давайте перетягнути цей скрипт на всьому
помилка спрайт, а також сцени.
Давайте спробуємо це.
>> Харчування отруйних помилку відразу ж, Програма зупиняється, як очікувалося.
Жоден з інших ходу помилки і ні Діно робить, якщо натиснути
вниз стрілками.
Але, припустимо, ми не хочемо, щоб нагадати користувач їх негативний бал, так що
Давайте сховаємо змінної оцінка від етапі, коли ігри
За отриманні події.
Добре.
>> Так що це досить пристойну гру.
Що більше часу, ви можете додати більше спрайтів і більше сценаріїв.
Може бути, помилки можуть рухатися з різною швидкістю.
Ви можете додати новий фон на сцені -
Game Over тлі -
так що, коли стадія отримує Game Over подія, він може переключитися на
Game Over фоном і все з спрайтів шкуру.
Багато невеликих налаштувань можуть бути зроблені, щоб зробити ваша гра трохи більш вишуканою.
>> І це тільки один приклад проект, який ви можете зробити в подряпин
використовуючи всі інструменти, які ми обговорювали раніше -
спрайт, костюми, сцени, декорації, умови, цикли, змінні,
показують новини або теми.
Голодні Dino не використовує звук ефектів, але ви легко можете додати свої
власні, перейшовши на вкладку Звуки і вивчення гучні заяви.
Подряпини є прекрасним введенням в Основи програмування, так тому і бути творчим
і, найголовніше, отримати задоволення.
Мене звуть Zamyla, і це CS50.