игра герой

игра герой


описание программы MAKECODE и работы с ней здесь

описание блоков программы MAKECODE здесь

как подключить микробит здесь

Нажмите на ссылку, запустите графическую платформу онлайн-программирования MakeCode. 


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

Создание персонажей

из блоков переменные создайте две новые переменные: одну назовем, heroа вторую назовем enemy.



Перетащите set item toблок в свой on startблок и измените « item» на « enemy».


Найдите create sprite atблок в разделе игры и подключите его к  set enemy toблоку.


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

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

Найдите pick random 0 to 4блок в блоках Math и используйте его, чтобы заменить обе « 2» координаты в create sprite atблоке из блоков game.

Каждый раз, когда ваш код выполняется, pick random 0 to 4блок будет возвращать число 0, 1, 2, 3 или 4.

Каждое из этих пяти чисел - 0, 1, 2, 3, 4, 5 - соответствует одному из 5 рядов или столбцов на светодиодном дисплее вашего микробита.

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

Загрузите свой код и попробуйте! Вражеская точка появляется в другом месте каждый раз, когда вы перезапускаете микробит?

Теперь вы можете добавить второй спрайт, назначенный вашей heroпеременной?

Герой не должен располагаться в произвольном порядке, поэтому вы можете оставить его xи yзначения в « 2».

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

Найдите sprite set x to 0блоках Game и добавьте его в конец кода.


Измените « sprite» на « enemy», « x» на « blink» и « 0» на « 500».


Скачайте свой код и посмотрите, сможете ли вы отличить героя от врага.



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

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

Мы хотим постоянно проверять, в каком направлении наклоняется микробит, а затем корректировать положение hero.

Способ, которым мы можем обнаружить наклон это через accelerationблок.

Добавьте while trueцикл в ваш код.


Поместите ifблок в ваш whileцикл, а затем вставьте в него 0 > 0 блок сравнения.


Поместите acceleration xблок в первую часть блока сравнения и оставьте номер во второй части как « 0».


Наконец, найдите item change x by 1блок в блоках Game и закрепите его внутри своего ifблока. Измените « sprite» на « hero».


Дублируйте весь ifблок со всем его содержимым еще три раза и настройте его так, чтобы:

  • Если acceleration x0, то измените xна-1
  • Если acceleration y0, то измените yна1
  • Если acceleration y0, то измените yна-1

В конце ваш код должен выглядеть так:



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

Это замедлит whileпетлю, означая, что герой движется немного медленнее, когда вы наклоняете устройство.


Поймать врага

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

Есть блок под названием « touching», который позволяет нам определить, находится ли один спрайт поверх другого. Мы можем использовать его, чтобы определить, поймал ли наш герой врага.

Добавьте новый ifблок прямо в начале вашего whileблока.


Перетащите из блоков Game блок touching , и заполните его heroи enemyпеременными, как здесь:


Добавьте полсекундную паузу (чтобы у игрока было время заметить, что этот враг был пойман), добавив pause (ms) 100блок и изменив число на « 500».


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

Используйте два item set x to 0блоков Game, вот так:


Загрузите код и попробуйте!



Ведение счета

Было бы весело, если бы мы отслеживали, сколько раз герой поймал врага, и наконец объявили о победе после того, как противник был пойман пять раз.

Перетащите set score 0блоков Game в свой код, прямо перед whileциклом.


Вместо « while true» используйте несколько новых блоков из блоков logic и Game, чтобы изменить его на « while score < 5», например:


Добавьте change score by 1блок и show scoreблок внутри нашего if hero touching enemy блока:


И, наконец, в самом конце игры, после окончания whileцикла, добавьте game overблок.

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

здесь ты можешь открыть готовый код программы

https://makecode.microbit.org/_H5hKPwM2M2Uu

и загрузить на микробит

как загрузить на микробит подробней здесь


Report Page