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→ конец раунда. - Спрайт
Взрыв— при касании корабля астероидом —включить костюманимации,остановить всё,сказатьсчёт.
Вопросы для самопроверки
- Зачем корабль появляется с противоположной стороны?
- Чем
создать клону снаряда отличается отсоздать клону астероида? - Как ограничить скорострельность?
Что дальше
| Дальше | Ссылка |
|---|---|
| Платформер | Scratch — продвинутый платформер |
| Случайность | Scratch §8 |
| Lab — клоны | дождь и салют |