Проект “Змейка”

Создадим игру аналог игры “Змейка”. Змея перемещается по игровому полю и ловит яблоки. После каждого съеденного яблока, тело змеи увеличивается на один сегмент. Задача съесть как можно больше яблок, при этом не врезавшись в края игрового поля или в тело змеи.

Рисование спрайтов

Открой проект Змейка-Шаблон.sb2. В нём содержится фон и спрайт с яблоком. Спрайт с головой змеи нужно нарисовать самостоятельно.

Создай новый спрайт. Дай ему имя голова. Нарисуй схематично голову змеи. Убедись в том, что центр спрайта расположен в центре рисунка. Для этого в режиме рисования костюма выбери инструмент Установить центр костюма (см. рисунок) и щелкни по центру спрайта.

Если спрайт получился слишком маленьким или слишком большим, используй инструменты Увеличить или Уменьшить в верхней части окна.

Добавь к спрайту голова следующие скрипты:

Скрипт для яблока

Выбери скрипт яблоко и добавь ему следующий скрипт. После того как голова змеи коснётся яблока, счёт увеличится на единицу и яблоко переместиться в новое случайное положение.

Нажми на зелёный флажок и протестируй программу. Змея будет двигаться самостоятельно. Задача игрока вовремя поворачивать змею в необходимом направлении.

Рисование спрайта для изображения тела змеи

Создай новый спрайт тело и нарисуй там зелёный квадрат. С помощью инструмента Установить центр костюма убедись, что центра спрайта находится в центре квадрата.

Создай для спрайта тело второй костюм. Нажми на первый костюм правой кнопкой мыши и выбери пункт меню Дублировать. Закрась второй костюм более светлым оттенком зелёного цвета.

Скрипт для тела змеи

Выбери спрайт тело и добавь ему следующие скрипты.

Благодаря блоку ждать с формулой \(счёт / 5\) длина хвоста змеи будет зависеть от количества очков. Этот блок задаёт задержку в секундах до исчезновения клонов квадратного спрайта. Чем больше очков у игрока, тем дольше на экране будут оставаться клоны квадратов и тем длиннее будет хвост.

Определение столкновений

Что бы игра не была слишком простой, добавим скрипты которые определят, столкнулась ли голова с краем экрана или с телом змеи. После этого игра должна остановиться.

Выбери спрайт голова и исправь существующий скрипт. Блоки которые надо добавить обведены красным прямоугольником:

Обрати внимание, что в первом блоке если .. то необходимо указать яркий оттенок зелёного цвета из второго костюма спрайта тело.

Теперь добавь скрипт который будет реагировать на сообщение конец игры:

Нажми на зелёный флажок и проверь работу игры. Теперь игра должна останавливаться если врезается в стену или в собственный хвост.