Найти тему
PapaCoder

Школа программирования Scratch. 7. Поймай мышонка

Оглавление

Сегодня мы с тобой сделаем первую игру. Кот будет ловить мышонка, а мышонок будет от него убегать. Сами по себе, под действием нашего кода. Интересно? Тогда приступаем.

Алгоритм

Во-первых, нам нужен алгоритм для кота и для мышонка. Бери бумагу, будем рисовать.

Что у нас должен делать кот:

  1. Повернуться лицом к мышонку
  2. Сделать полшага
  3. Если догнал мышонка, то установить переменную "стоп" в 1
  4. Если "стопа" не равен 1, то повторить с п.1

Нарисуй схему и сравни с тем, что получилось ниже. Но не подглядывай, пока не нарисуешь свою.

Схема кота
Схема кота

А теперь к мышке. Что должна делать она? Подумаем:

  1. Отвернуть от кота в случайную сторону
  2. Сделать шаг
  3. Если уперся в границу - отскочить и развернуться
  4. Повторять пока стоп не равен 1

Нарисуй схему для мышки и сравни с тем, что получилось ниже. Но не подглядывай, пока не нарисуешь свою.

Схема мышонка
Схема мышонка

Алгоритм мы сделали, теперь нужно его реализовать. Но перед этим нужно изучить что такое "переменные".

Переменные

В алгоритме мы использовали "переменную" стоп. Что же такое переменные? Переменные - это память программы. Мы можем хранить в переменных любые значения - например числа или текст. Мы можем изменять переменные с помощью простого записывания значений или арифметических действий.

Переменные могут быть локальные или глобальные. Глобальные переменные доступны из любого места программы. Мы можем создать переменную в коте и обращаться к ней из кода мышки. Переменная на "стоп" на схеме - это глобальная переменная.

Локальные переменные доступны только из того кода, где они были созданы - программисты говорят "объявлены". Например, если мы создадим локальную переменную в мышке, то кот ее не увидит и мышка может хранить в ней украденный сыр 🤣

Программа

Давай разберемся какие блоки нам нужны. Нам потребуются:

  • блоки-сенсоры для определения границ сцены и того, поймал и кот мышку
  • блоки циклов для повторения действий
  • блоки ветвлений
  • блоки для работы с переменными

Для мышонка потребуется создать отдельный спрайт. У нас будет 2 объекта - мышка и кот. Я сейчас покажу какие блоки тебе могут понадобится, а ты сам попробуй составить из них программу

Нужные блоки
Нужные блоки

Остался непонятным один момент - кот может поворачиваться к мышке, а как мышке отворачиваться от кота? Можно воспользоваться 2 блоками - блок "повернуть к коту", а затем блок "повернуть на 90 градусов + случайное значение".

Ты можешь подбирать случайное значение, чтобы было интересно смотреть на кошки-мышки. А еще ты можешь регулировать скорость персонажей. И последний вопрос перед заданием: как думаешь, на сколько градусов нужно повернуть, чтобы смотреть в обратную сторону? Правильно - 180 градусов.

Повторю задание:

  • кот догоняет мышку
  • мышка от него убегает
  • если мышка или кот упираются в конец экрана, то они отворачиваются в обратную сторону
  • когда кошка ловит мышь, игра останавливается.

Все подсказки есть в уроке. Решение будет в следующем уроке, но попробуй решить, а потом только смотреть.

Прошлые уроки