Перейти к основному содержимому

Scratch — лабиринт на клавишах

Начальный уровень
Опора на справочник

События и сообщения§2; координаты — §4.


Эскиз

Игрок ведёт кота стрелками по лабиринту. Дойдя до яблока, получает очко и переходит на следующий уровень (новый фон-лабиринт). Стены не пускают сквозь себя.

ЧастьФункция
АДвижение стрелками
БНесколько фонов-лабиринтов
ВСтолкновение со стеной (цвет)
ГЯблоко и сообщение «следующий уровень»

Часть А — движение героя

Переименуйте кота в Рыжий кот. Отдельный скрипт:

[Когда 🟢 нажат]
повторять всегда
если <нажата клавиша [стрелка вверх]?> то
изменить y на (4)
конец
если <нажата клавиша [стрелка вниз]?> то
изменить y на (-4)
конец
если <нажата клавиша [стрелка вправо]?> то
изменить x на (4)
конец
если <нажата клавиша [стрелка влево]?> то
изменить x на (-4)
конец
ждать (0.02) сек.
конец

Контрольная точка: кот ходит по пустой сцене во все стороны.


Часть Б — уровни как фоны

  1. Нарисуйте или загрузите картинку лабиринта (чёрные стены, белые коридоры).
  2. Вкладка Фон → добавьте несколько костюмов: Уровень1, Уровень2, …
  3. Создайте спрайт-«менеджер» Лабиринт (можно пустой квадрат) со скриптом смены фона при старте:
[Когда 🟢 нажат]
переключить фон на [Уровень1 v]

Переключение фонов — внешний вид сцены.


Часть В — стены по цвету

Перед каждым шагом проверяйте, не касается ли кот цвета стены (например чёрного #000000):

если <нажата клавиша [стрелка вверх]?> то
изменить y на (4)
если <касается цвета [#000000]?> то
изменить y на (-4)
конец
конец

Повторите для всех четырёх стрелок. Кот «откатывается» назад, если вошёл в стену.

Пипетка цвета

В блоке «касается цвета» щёлкните цветной квадрат и кликните по стене на сцене — Scratch подставит точный оттенок.

Контрольная точка: сквозь стены пройти нельзя.


Часть Г — яблоко и уровни

  1. Спрайт Яблоко в конце коридора.
  2. У кота при касании яблока:
если <касается [Яблоко]?> то
изменить [уровень v] на (1)
отправить [следующий_уровень v] и ждать
конец
  1. У спрайта Лабиринт:
[Когда получено [следующий_уровень v]]
переключить фон на [Уровень2 v] // или выбор по переменной уровень
перейти в x: (-180) y: (-150) // стартовая клетка — подберите координаты

Переместите яблоко на новом уровне или продублируйте логику для Уровень3Уровень8.

Контрольная точка: сбор яблока меняет фон и возвращает кота в начало коридора.


Дополнительно (после базовой версии)

ИдеяСуть
Два игрокаВторой кот (синий), свои стрелки (WASD), своё яблоко
Чит «сквозь стены»Отдельная клавиша временно отключает откат от цвета
СчётГлобальная переменная очки на сцене

Готовый классический лабиринт MIT для сравнения: проект 10128431 (каталог).


Вопросы для самопроверки

  1. Зачем нужен блок отправить … и ждать между котом и фоном?
  2. Почему проверка стены делается после сдвига, а не до?
  3. Как добавить восьмой уровень без переписывания всего кода?

Что дальше

ДальшеСсылка
Гравитация и прыжок35 — баскетбол
Сообщения подробнееScratch §2

См. также

Другие статьи этого же раздела в боковом меню (как на странице "О разделе").