Scratch — астероиды в космосе
Классическая игра Asteroids и «тор» экрана — в главе про аркады. Клоны — §9.
Эскиз
Космолет поворачивается к мыши, пробел стреляет. Астероиды летают; при попадании крупный делится на мелкие. Счёт и таймер; столкновение с астероидом — взрыв.
| Часть | Функция |
|---|---|
| А | Движение корабля, выход за край |
| Б | Прицеливание мышью, выстрел |
| В | Клоны астероидов |
| Г | Деление при попадании |
| Д | Счёт и таймер |
Часть А — корабль и wrap-экран
[Когда 🟢 нажат]
повторять всегда
повернуться к [указатель мыши v]
если <нажата клавиша [стрелка вверх]?> то
двигаться (4) шагов
конец
если <x > (240)> то
установить x в (-240)
конец
если <x < (-240)> то
установить x в (240)
конец
если <y > (180)> то
установить y в (-180)
конец
если <y < (-180)> то
установить y в (180)
конец
ждать (0.02) сек.
конец
Ушли за правый край — появились слева: так устроен «космос без стен».
Часть Б — выстрел
Спрайт Лазер или Снаряд:
[Когда нажата клавиша [пробел v]]
создать клон самого себя
У клона:
[Когда я начинаю как клон]
показаться
перейти к [Космолет v]
повторять (40)
двигаться (12) шагов
если <касается [Астероид v]?> то
отправить [попадание v]
удалить клон
конец
конец
удалить клон
Ограничьте число выстрелов переменной боезапас — удобное усложнение для расширенной версии игры.
Часть В — астероиды
При старте игры:
[Когда 🟢 нажат]
повторить (4)
создать клон [Астероид v]
конец
У клона астероида — случайная позиция, повернуться в случайном направлении, вечный двигаться + wrap, как у корабля.
Часть Г — деление
При когда получено [попадание] у астероида (или в скрипте снаряда):
если <(размер) = [большой]> то
создать клон [Астероид v]
создать клон [Астероид v]
установить костюм [маленький v]
конец
удалить клон
изменить [счёт v] на (1)
Два маленьких клона разлетелись — классическое правило Asteroids.
Часть Д — таймер и взрыв
- Таймер Scratch:
запустить таймер, вповторять всегдапроверятьтаймер > 60→ конец раунда. - Спрайт
Взрыв: при касании корабля астероидом —включить костюманимации,остановить всё,сказатьсчёт.
Вопросы для самопроверки
- Зачем корабль появляется с противоположной стороны?
- Чем
создать клону снаряда отличается отсоздать клону астероида? - Как ограничить скорострельность?
Что дальше
| Дальше | Ссылка |
|---|---|
| Платформер | 38 |
| Случайность | Scratch §8 |
См. также
Другие статьи этого же раздела в боковом меню (как на странице "О разделе"). Введение в программирование для детей — от идеи и алгоритма к переменным, условиям, циклам и первым строкам кода. PascalABC.NET — среда Pascal на .NET для школ Росси: первая программа, модули, графика и связь с олимпиадами. А теперь — ключевой момент — графические блоки — это не игрушка и не ненастоящее программирование. Это то же самое, только в другой форме. Scratch - визуальное программирование в браузере и первые шаги на платформе MIT для детей и начинающих. На <a href="https://scratch.mit.edu/starter-projects" target="_blank" rel="noopener noreferrer">scratch.mit.edu/starter-projects</a> MIT собрал <strong>готовые проекты с подсказками внутри. Scratch — платформер и демосцена, учебные проекты курса 3 Scratch и связь с каталогом стартовых проектов. Пошагово — редактор Scratch, движение, направление в градусах и расширение Перо для арт-проекта в космосе. Пошаговая игра-лабиринт в Scratch — стрелки, касание цвета стен, яблоко, сообщения и смена уровней. Пошаговая мини-игра в Scratch — прыжок кота, гравитация, бросок мяча и хитбокс кольца. Пошаговый арканоид в Scratch — ракетка, отскок мяча, клоны кирпичей, победа и поражение. Пошаговый платформер в Scratch — склоны, хитбокс, анимация ходьбы, яблоко и простой ИИ краба. Эскиз игры, части А и Б, контрольные точки и готовые файлы — метод пошаговой сборки игр в Scratch.Введение в программирование
PascalABC.NET
Блоки
Scratch
Стартовые проекты MIT Scratch
Scratch: платформер и демосцена
Практика 1 — радуга
Практика 2 — лабиринт
Практика 3 — баскетбол
Практика 4 — арканоид
Практика 6 — платформер
Метод обучения