Раздели

Събирай точките

Събирай точките

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

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

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

Звънецът в класната стая

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

Как работи?

алгоритъм
Проследи схемата: кои блокове се изпълняват при старт и кои чакат нещо да се случи.
Досега всеки блок се изпълняваше веднъж, при старт. Блокът on sprite of kind Player overlaps ... of kind Food е различен: той е събитие . Не се изпълнява при старт, а стои и чака. Когато двата спрайта се допрат, Arcade сам извиква блоковете вътре и им подава кои точно спрайтове са се срещнали - затова вътре има две имена: sprite (играчът) и otherSprite (храната). Това разделение между „подг
Раздел CСтроим програмата блок по блок - не я преписваме наготово

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

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

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

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

Въпрос 1 от 3

Кога се изпълняват блоковете вътре в „on overlaps“?

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

Въпрос 2 от 3

Какво е otherSprite в блока за допир?

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

Въпрос 3 от 3

Защо храната се мести, вместо да се трие?

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

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

  • ★ Смени случайните граници така, че храната да се появява само в горната половина.
  • ★★ Добави втори вид храна, който дава 3 точки вместо 1.
  • ★★★ Направи храна, която при докосване ОТНЕМА точки - и помисли как играчът ще я различи от добрата.
измисли свое Измисли какво събира твоят герой и защо. Монети? Букви от дума? Части от машина? Темата променя играта повече от кода.
Насърчи промяна и разширяване, не копиране. Звездите са трудност, а „измисли свое" е поканата да излязат извън урока.
За учителяОрганизация на часа

Честа грешка

Точките скачат с десетки наведнъж. Докато героят стои върху храната, допирът продължава и събитието се задейства отново и отново. Класическа грешка: блокът за местене на храната е забравен или е сложен ИЗВЪН събитието.

✓ Премести храната вътре в самото събитие Щом храната отскочи другаде, допирът свършва и броенето спира. Правилото е общо: събитието трябва да промени състоянието, което го е предизвикало - иначе се самоповтаря.

Речник

събитие - блок, който не се изпълнява при старт, а чака нещо да се случи

overlap (допир) - двата спрайта се припокриват на екрана

резултат (score) - число, което системата пази и показва автоматично

случайно число - randint(a, b) - число между a и b, различно всеки път

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

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

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

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

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

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

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