Раздели

Враг, животи и изстрел

Враг, животи и изстрел

Урок 4 от 5 · Направи своя игра с MakeCode Arcade
Цъкни, за да започнеш
Раздел AВъведение

Какво ще направим?

Досега нищо не пречеше на играча. Сега добавяме враг, който го преследва, животи, които се губят при допир, и изстрел, с който врагът може да бъде спрян. Това е урокът, в който в играта се появява противник.
Дай на класа минута да предположи как ще стане, преди да продължиш. Целта е да измислят стъпките сами.
Раздел AАналогия от живота

Гоненица с три живота

В гоненицата в междучасието не губиш веднага - имаш няколко шанса, преди да излезеш от играта. И гонещият не тича към мястото, където си бил, а към мястото, където си сега. Точно това прави блокът follow: пресмята посоката наново, не помни старата.
Аналогията прави абстрактното конкретно - задръж на нея, докато класът я схване.
Раздел BКак мисли програмата

Как работи?

алгоритъм
Проследи схемата: кои блокове се изпълняват при старт и кои чакат нещо да се случи.
Блокът follow дава на един спрайт цел: той сам пресмята посоката към друг спрайт на всеки кадър и обръща скоростта си натам. Това е първото поведение в курса, което продължава без нашите блокове - ние го включваме веднъж, а то работи през цялата игра. Животите са втората нова идея: вместо един край играчът има три опита, а системата сама обявява край, когато стигнат нула. Проектилът е спрайт
Раздел CСтроим програмата блок по блок - не я преписваме наготово

Кодът стъпка по стъпка

блокове
 
Всяка стъпка добавя по едно нещо и казва защо. Пускай играта СЛЕД всяка стъпка - детето вижда промяната, вместо да я приема наготово.
Раздел DЗаснет резултат - играта, както върви в симулатора

Пробвай на живо

играта на живо
Отвори редактора на дъската и пусни играта там. Децата виждат същия екран на своите конзоли или в своя браузър.
Раздел EЦъкни отговор - зелено вярно, червено грешно

Въпрос 1 от 3

Какво прави блокът „follow“?

  • Мести спрайта веднъж към целта
  • Пресмята посоката към целта на всеки кадър и задава скоростта в тази посока
  • Копира движението на играча
 
Дай време за мислене. Цъкането оцветява избора; „Покажи верния" показва отговора на дъската.
Раздел EЦъкни отговор - зелено вярно, червено грешно

Въпрос 2 от 3

Защо врагът се връща в началната позиция след допир?

  • За да изглежда по-добре
  • За да спре допирът и животите да не изчезнат наведнъж
  • Защото Arcade го изисква
 
Дай време за мислене. Цъкането оцветява избора; „Покажи верния" показва отговора на дъската.
Раздел EЦъкни отговор - зелено вярно, червено грешно

Въпрос 3 от 3

Кой изтрива проектила, след като излезе от екрана?

  • Ние, с блок destroy
  • Системата - сама
  • Никой, той остава завинаги
 
Дай време за мислене. Цъкането оцветява избора; „Покажи верния" показва отговора на дъската.
Раздел FГотови решения нарочно няма - търси, греши и пробвай пак

Твой ред да твориш

  • ★ Смени скоростта на врага и броя животи, докато играта стане трудна, но честна.
  • ★★ Направи втори враг, който влиза от долния край и се движи по-бавно.
  • ★★★ Направи изстрела да тръгва в посоката, в която героят се е движил последно - а не винаги надясно.
измисли свое Измисли какво е врагът в твоята игра и защо е опасен. И помисли дали изстрелът е единственият отговор - може защитата да е щит, укритие или скок.
Насърчи промяна и разширяване, не копиране. Звездите са трудност, а „измисли свое" е поканата да излязат извън урока.
За учителяОрганизация на часа

Честа грешка

Проектилът не улучва нищо. Най-честата причина не е в блока за допир, а в скоростите: ако проектилът тръгва със 0 по x, той остава върху героя и никога не стига до врага. Втората причина е грешен вид в събитието - Player вместо Projectile.

✓ Провери скоростта на проектила и ВИДОВЕТЕ в събитието Скорост по x различна от нула и събитие точно за Projectile срещу Enemy. Двата вида в събитието са падащи менюта - лесно остават със стойността по подразбиране.

Речник

враг (Enemy) - вид спрайт, който пречи на играча

follow - поведение: спрайтът сам се насочва към друг спрайт

животи (life) - брой опити, които системата води и показва

проектил - спрайт, създаден в движение, който се трие сам извън екрана

Как върви часът

1. Идея. Класът предполага как ще стане, преди да види кода.

2. Кодът - по един блок. Пускай след всяка стъпка.

3. На живо. Играта свързва кода с резултата.

4. Твой ред. Задачите нямат готови решения - нарочно.

Редакторът е на английски. За разлика от MakeCode за micro:bit, средата за Arcade още няма български превод - блоковете са с английски надписи. Имената на променливите обаче приемат кирилица и в този курс са на български (играч, храна, враг, ниво).

Трябва ли конзола: не задължително. Играта върви и в браузъра на arcade.makecode.com; конзолата дава физическите бутони и това, че играта излиза от екрана на компютъра.