Проект “Поймай точки”

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

Управление поворотом круга

Открой файл Поймай точки (шаблон).sb2. В файле проекта будет один спрайт, вращением которого мы будем управлять. Составим скрипт с помощью которого спрайт круг будет поворачиваться по часовой стрелке при нажатии на стрелочку вправо:

Проверь работу скрипта.

Измени скрипт таким образом, чтобы при нажатии на стрелку влево, спрайт поворачивался против часовой стрелки.

Подсказка (Нажми, чтобы показать) Тебе понадобятся следующие блоки:

Создание нового спрайта

Создай спрайт который будет содержать маленькую красную точку.

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

Если сейчас нажать на зелёный флажок, спрайт и все его клоне не будут видны.

Добавим скрипт с помощью которого точки будут появляться в углах сцены. Координаты углов сцены приведены на следующем рисунке:

Создай список с названием координаты в который запиши два значения: 180 и -180.

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

Добавим спрайту красный скрипт, который будет выполнять его клон:

Нажми на зелёный флажок и проверь работу проекта.

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

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

Добавим к этому скрипту условие окончания игры: если количество жизней станет меньше 1, то мы останавливаем работу всех запущенных скриптов:

Условие набора очков в игре

Выбери спрайт красный что бы изменить скрипт для клона этого спрайта:

Нажми на зелёный флаг, чтобы проверить работу игры.

Усложняем игру

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

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

Подсказка (Нажми, чтобы показать) Для желтого и синего спрайтов исправления необходимо сделать в этом блоке:

Иногда точки создаются одновременно в очень большом количестве. Это необходимо исправить.

В скрипте синего спрайта измени задержку перед началом выполнения с 2 секунд на 4. Для желтого спрайта измени задержку с 2 до 6 секунд.

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

Постепенное увеличение скорости игры

Составим скрипты благодаря которым точку будут появляться чаще с течением игры. Для выбери сцену и добавь переменную задержка:

Перед началом игры установим задержку в 8 секунд. В течении игры каждые 10 секунд будем уменьшать значение задержки на 0.5 секунды. Для того чтобы реализовать этот алгоритм составь следующий скрипт:

Обрати внимание на то, что значение задержки не может быть меньше 2 секунд.

Теперь в каждом из трёх спрайтов с точками вместо случайной задержки устанавливаем задержку равную значение переменной задержка:

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

Подсказка (Нажми, чтобы показать) За скорость передвижения клонов точек отвечает этот блок:

Сохранение наилучшего результата

Добавим в наш проект возможность сохранять наилучший результат. Для этого выбери сцену и добавь новую переменную - лучший результат.

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

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

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

Блок проверить результат необходимо подставить перед блоком который останавливает все скрипты:

На данный момент сцена должна выглядеть следующим образом:

Идеи для улучшения игры

Вот несколько идей для улучшения игры:

  1. Создай спрайт-точку которые удваивают количество твоих очков.
  2. Создай спрайт-точку которая будет замедлять все остальные точки.
  3. Добавь переменную игрок с сохраняй в неё имя игрока с наилучшим результатом.