Введение:
Это игра, в которой есть три спрайта, меняющие костюмы. Вы должны остановить их, когда они показывают одну и ту же картинку одновременно(как в игровом автомате!).

ШАГ 1: Создайте спрайт, который меняет костюмы

Давайте импортируем разные картинки для нашей игры

  1. Создайте новый Скретч проект. Удалите кота, нажав правой кнопкой мышки и кликнув Удалить
  2. Импортируйте новый спрайт.
  3. Выберите изображение из любой папки. Обычно мы используем things/bananas1, но вы можете использовать любое изображение, которое хотите.
  4. Нажмите на вкладке Костюмы и импортируйте ещё две вещи, чтобы в итоге было три. (мы используем animals/bee1 и things/lego, но вы можете использовать любые другие изображения).

Теперь у нас есть несколько костюмов. Мы хотим, чтобы спрайты меняли их по очереди.

ШАГ 2:Сделайте так, чтобы изображение менялось

  1. Нажмите на вкладке Скрипты.
  2. Нажмите Контроль и перетащите когда щелкнут по зеленый флаг в область для скриптов. Это будет работать, когда мы кликаем зеленый флаг.
  3. Добавьте всегда и перенесите это ниже остальных конструкций.
  4. Нажмите по зеленому флагу вверху справа. Посмотрите на тот белый контур вокруг нашего скрипта. Это работает, потому что мы нажали зеленый флаг, который запускает это.
  5. Теперь нажмите Костюмы и перетащите следующий костюм
  6. Как нам замедлить так, чтобы всё не изменялось слишком быстро? Нажмите Контроль и перетащите в ждать 1 сек.
  7. Установите время до тех пор, пока это повторяется в быстром темпе (0.1 сек подойдет). Что произойдет, если мы бы не поставили блок ждать?
    когда зеленый флаг нажат
    всегда      
        следующий костюм
        ждать 0.1 сек
    (завершить всегда)

Проверьте ваш проект

Нажмите зеленый флаг.
Меняются ли костюмы вовремя?

Сохраните ваш проект

Попробуйте

Установите время в блоке ждать. Как вы думаете, какие цифры помогут сделать игру легче или труднее?

ШАГ 3: Остановить ,когда нажимаем на него

Отлично! Мы можем сделать так, чтобы спрайт менял костюмы постоянно, но как сделать так, чтобы всё останавливалось, когда мы нажимаем по ним?

  1. Создайте новую переменную, нажав Переменные и Создать костюм. Остновите и сделайте это для всех спрайтов, затем снимите галочку в окне, которе следует за ним, чтобы оно не отображалось на сцене.
  2. Сделайте так, чтобы всё останавливалось, когда доходите до 1, когда кто-нибудь нажимает на изображении, используя когда когда спрайт1 нажат и остановитесь, когда дойдет до 0, убедившись в том, что изменили значение с 0 на 1.
  3. Теперь нам нужно сделать так, чтобы изображение останавливалось, когда переменная становилась равной 0
  4. И, наконец, добавьте спрайт1остановлен до 0 под когда зеленый флаг нажат

Проверьте ваш проект

Нажмите зеленый флаг, немного подождите, затем нажмите на спрайте.

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

Сохраните ваш проект

Шаг 4: Создание других спрайтов

Тепень нам поднадобится сделать других спрайтов, чтобы мы смогли играть в нашу игру!

  1. Копируйте спрайта (Спрайт1) нажатием правой кнопки мыши в правом нижнем углу.
  2. Копируйте его снова, чтобы было 3 спрайта на экране.
  3. Переместите каждый спрайт, чтобы они были в одном ряду. Сделайте их немного поменьше если это нужно.

Проверьте ваш проект

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

Сохраните ваш проект

Попробуйте

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

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

Испытание 1: Сделайте игру посложнее

Измените как-нибудь сложность игры. Например, просто сделайте так, чтобы костюмы изменялись быстрее. Попробуйте и сделайте что-то более изобразительное. Некоторые идеи, которые можно попробобвать сделать:

  1. Измение число костюмов, которое имеет каждый спрайт.
  2. Сделайте несколько уникальных костюмов для спрайтов.
  3. Добейтесь того, чтобы костюмы сменялись несколько раз.
  4. Сделайте так, чтобы для каждого спрайта выбирался случайный костюм, чем следующий в списке.

Наслаждайтесь новыми изменениями в вашей игре!

Каждый раз, когда вы делаете какое-то изменение, подумайте о том, делает ли это игру легче или труднее. Игра слишком легкая или слишком сложная? Как вы можете установить сложность, чтобы это было правильно?

Испытание 2: Сделайте так, чтобы игра становилась сложнее или легче по прошествии времени

Разные люди имеют различные навыки игры. Как можно подобрать сложность в зависимости от игрока?

Один из способов это установить скорость смены костюмов. Вы можете использовать переменную, которая называется delay(задержка),чтобы задать продолжительность каждого блока ждать для спрайта. Если игрок выигрывает раунд, задержка может быть немного уменьшена (чтобы сделать игру сложнее). Если игрок проигрывает раунд, то задежка увеличиается(чтобы сделать игру легче).

Испытание 3: Определите, когда все спрайты остановились на одном и том же костюме

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

Во-первых, сцена должна знать, когда игрок закончил игру. Мы можем добиться этого, добавив проверку, чтобы узнать, все ли спрайты остановились, когда мы кликнули на них. Давайте вернемся и улучшем каждый из наших спрайтов, кликну на блоке передать новое сообщение, проверить на конец(checkForEnd)

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

Чтобы сделать это, мы можем использовать ту же позицию х блока Спрайт, но вместо того, чтобы искать переменную, которая останавливает, мы можем искать костюм # и посмотреть, если Спрайт 1 имеет тот же самый костюм, что и Спрайт2, и если Спрайт имеет такой же костюм, как и Спрайт3.

Чтобы сделать это, нам нужно будет блок “если”, чтобы проверить кажду переменную, и этого “если… иначе” блока узнать, выиграл ли игрок или проиграл, сравнивая каждый костюм #.

From this point on, you could announce the result of the game using a broadcast and respond to this with another sprite. Maybe get Felix back to congratulate or commiserate the player? А теперь, можете ли вы объявить результат игры, использую передать и ответить на это с помощью другого спрайта. Может ли Феликс получать поздравления или посочувствовать игроку?

Отлично, вы заверишили создание игры, теперь вы можете насладиться ей!

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