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. Как добавить восьмой уровень без переписывания всего кода?

Что дальше

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