Scratch — арканоид с клонами
Начальный уровень
Теория клонов
Перед сборкой прочитайте §9 Клоны в справочнике Scratch.
Эскиз
Ракетка внизу ловит мяч. Кирпичики вверху — каждый клон; при ударе исчезает. Проигрыш, если мяч упал ниже ракетки; победа, когда кирпичей не осталось.
| Часть | Функция |
|---|---|
| А | Ракетка по стрелкам |
| Б | Мяч и отскок от стен |
| В | Отскок от ракетки (угол зависит от места удара) |
| Г | Клоны кирпичей |
| Д | Сообщения "игра окончена" / "вы выиграли" |
Часть А — ракетка
[Когда 🟢 нажат]
показаться
перейти в x: (0) y: (-150)
повторять всегда
если <нажата клавиша [стрелка вправо]?> то
изменить x на (8)
конец
если <нажата клавиша [стрелка влево]?> то
изменить x на (-8)
конец
если <x > (220)> то
установить x в (220)
конец
если <x < (-220)> то
установить x в (-220)
конец
ждать (0.02) сек.
конец
Часть Б — мяч
[Когда 🟢 нажат]
перейти в x: (0) y: (0)
установить [dx v] в (4)
установить [dy v] в (4)
повторять всегда
изменить x на (dx)
изменить y на (dy)
если <касается края?> то
отскочить от края
установить [dx v] в (dx)
установить [dy v] в (-1) * (dy)
конец
ждать (0.02) сек.
конец
Уточните отражение по осям под свой скрипт (иногда проще менять знак dx при abs x > 230).
Часть В — удар о ракетку
если <касается [Ракетка v]?> то
установить [dy v] в (abs (dy))
установить [dx v] в ((dx) + ((x) - (x позиция [Ракетка v])) / 10)
конец
Так мяч летит в сторону, куда ударили по ракетке.
Часть Г — кирпичи-клоны
У спрайта Кирпичик один костюм. При старте:
[Когда 🟢 нажат]
скрыть
повторить (5)
повторить (10)
создать клон самого себя
изменить x на (44)
конец
изменить x на (-440)
изменить y на (-32)
конец
У клона:
[Когда я начинаю как клон]
показаться
перейти в x: (x позиция [Кирпичик v]) y: (y позиция [Кирпичик v])
повторять всегда
если <касается [Мяч v]?> то
удалить клон
конец
ждать (0.02) сек.
конец
Родительский спрайт остаётся скрытым; на сцене только клоны.
Контрольная точка: сетка кирпичей; при ударе кирпич пропадает.
Часть Д — конец игры
- Переменная
кирпичей= число клонов при старте; приудалить клонуменьшайте счётчик; при 0 —отправить [победа]. - Если
y < (-170)у мяча —отправить [проигрыш]. - Спрайты с текстом показываются по
когда получено [победа].
Версия 2.0 (после базы)
| Улучшение | Блоки |
|---|---|
| Музыка | запустить звук в цикле |
| Хвост мяча | Перо, опустить перо у мяча |
| Анимация кирпича | изменить эффект [прозрачность] перед удалить клон |
Демосцена и эффекты — 32 § демосцена.
Вопросы для самопроверки
- Зачем родительский кирпич скрыт?
- Что будет, если забыть
удалить клон? - Как отличить скрипт "для клона" от скрипта основного спрайта?
Что дальше
| Дальше | Ссылка |
|---|---|
| Космический шутер | Scratch — астероиды в космосе — астероиды |
| Аркады в теории | 2-video-games/16 |
| Lab — отскок мяча | пинг-понг |