Оглавление:

О чем немного думает? Сделайте простую игру в угадывание с BBC Microbit !: 10 шагов
О чем немного думает? Сделайте простую игру в угадывание с BBC Microbit !: 10 шагов

Видео: О чем немного думает? Сделайте простую игру в угадывание с BBC Microbit !: 10 шагов

Видео: О чем немного думает? Сделайте простую игру в угадывание с BBC Microbit !: 10 шагов
Видео: "Я Пытался Предупредить Вас" Последнее Предупреждение Илона Маска 2022 2024, Июль
Anonim
О чем немного думает? Сделайте простую игру в угадывание с BBC Microbit!
О чем немного думает? Сделайте простую игру в угадывание с BBC Microbit!

Я купил пару микробитов BBC после того, как прочитал положительные отзывы о них в нескольких статьях в Интернете.

Пытаясь познакомиться с BIT, я пару часов поигрался с онлайн-редактором блоков Microsoft Blocks Editor и придумал простую игру в угадывание.

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

Наконец, взволнованная аудитория может перейти к онлайн-симулятору и попробовать эту простую игру.

Давайте начнем.

Шаг 1. Перед началом работы…

Перед началом работы…
Перед началом работы…
Перед началом работы…
Перед началом работы…

Аппаратное обеспечение

С доской BBC Microbit легко ознакомиться. Для этого IBLE все, что вам нужно знать, это то, что это крошечная плата с 2 кнопками, набором крошечных светодиодов и разъемом micro-USB, который действует как источник питания и средство для загрузки программы на плату..

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

Примечание:

Вам не нужна физическая доска для этого IBLE! На сайте BBC Microbit есть онлайн-симулятор для онлайн-тестирования кода, который вы разрабатываете.

Программное обеспечение

Этот IBLE не содержит подробных сведений о начале работы с BBC Microbit и / или онлайн-редактором блоков.

Зрителям предлагается изучить этот ресурс BBC Micorbit, прежде чем переходить к следующим шагам.

BBC Microbit был разработан для обучения программированию с использованием очень удобного для пользователя подхода, поэтому знакомство с другим языком программирования - это хорошо, но не обязательно, особенно если вы собираетесь использовать Microsoft Blocks Editor для изучения программирования.

Тем не менее, я еще не встречал продукта, с которым было бы так просто начать работу, чем BBC Microbit, учитывая, что я владею и играю с несколькими другими платформами программирования микроконтроллеров.

Шаг 2: Правила игры в угадайку

Правила игры в угадайку
Правила игры в угадайку

Правила игры следующие:

  1. При включении BIT думает о числе и предлагает игроку угадать, что это за число, печатая сообщение на своей светодиодной панели, и ждет ответа.
  2. Игрок делает предположение и нажимает левую кнопку (A) столько раз, сколько отвечает ответ - Например, если игрок угадал 5, то кнопку нажимают 5 раз.
  3. Чтобы отправить ответ на BIT, игрок нажимает правую кнопку (B) один раз!
  4. Если игроки угадывают, то игрок получает очко, если нет, то BIT получает очко.
  5. Если один игрок угадал число за пределами диапазона, другой игрок получает очко - BIT отображает большой X на своем светодиодном дисплее и переходит к угадыванию нового числа и повторению задания; Пример: если BIT предлагал вам угадать число от 1 до 5, и вы угадали 6, или если вы угадали НУЛЬ (просто нажав кнопку B перед нажатием кнопки A), то этот раунд считается недействительным.
  6. Вызов-ответ продолжается до тех пор, пока один из игроков не наберет максимально допустимое количество очков.

Начало новой игры:

Чтобы начать новую игру в любое время, просто встряхните BIT! Или просто отключите и снова подключите питание.

Шаг 3. Программа блоков: переменные

Программа блоков: переменные
Программа блоков: переменные

Программа использует несколько переменных, имена которых соответствуют их функциям, перечисленным ниже. Эти переменные можно создать, щелкнув вкладку «Программирование переменных» в редакторе блоков.

BIT_SCORE - отслеживает очки, набранные BIT

bitGuessed - эта переменная содержит случайное значение, угаданное BIT

ПРОВЕРИТЬ - при значении True BIT проверяет, совпадает ли предположение игроков с предположением BIT.

GAME_RANGE - это число ограничивает, насколько высоко BIT или игрок может угадать

Пример: если установлено значение 6, любой из игроков может угадать от 1 до 6.

MSG - строка, которая изменяется для отображения различных сообщений в зависимости от контекста игры.

PLAYER_SCORE - отслеживает набранные игроком очки

playerGuess - число, угаданное игроком, записывается в эту переменную.

ПРИМЕЧАНИЕ

Самая первая переменная с именем item является общей и переменной по умолчанию, и ее можно игнорировать.

Шаг 4: Функции

Функции
Функции

В рамках процесса обучения и для лучшей организации код был организован в ряд функций, которые можно было вызывать или вызывать в основной программе. Как и переменные, функции могут быть созданы и доступны, щелкнув вкладку «Дополнительно»> «Программирование функций».

Ниже приводится краткое описание функций:

ОбъявлениеWinner - эта функция распечатывает сообщение о выигрыше, адресованное выигравшему игроку.

doChallenge - функция, которую BIT вызывает, чтобы угадать число и бросить вызов игроку

showBadGuess - отображает сообщение с огромным крестиком на светодиодной панели, если любой из игроков угадает, выходит за пределы допустимого диапазона.

showLose - вызывается, если BIT выигрывает раунд испытания над игроком

showMessage - представляет сообщение, предлагающее игроку угадать число в заданном диапазоне.

showWin - вызывается, когда игрок выигрывает раунд угадывания над BIT

Шаг 5: Запуск программы и события встряхивания и обработчики событий

Запуск программы и события встряхивания и обработчики событий
Запуск программы и события встряхивания и обработчики событий

«On start» и «on shake» - это обработчики событий, которые вызываются соответственно, когда происходят события «start» и «shake». Как видно из кода блоков, то, что происходит при вызове этих двух обработчиков событий, почти такое же, как в:

  • Функция showMessage () вызывается для отображения сообщения при запуске игры.
  • После отображения сообщения есть короткая пауза в 650 миллисекунд.
  • Вызывается функция doChallenge (), в которой BIT угадывает число и ждет, пока игрок-человек отправит предположение.

На следующем шаге мы рассмотрим эти две функции.

Тем не менее, существуют фундаментальные различия между обработчиками событий «при запуске» и «при встряхивании»:

  1. Обработчик событий «при запуске» запускается каждый раз, когда BIT запускается - например, при отключении и повторном подключении питания к BIT.
  2. Некоторые вещи, которые должны произойти только один раз при запуске программы, определены в "при запуске" и больше нигде во всей программе.
  3. Одна из таких вещей - инициализация переменной GAME_RANGE - в этом случае она инициализируется значением 6, что означает, что игроки могут угадать число от 1 до 6.
  4. Поскольку «при запуске» является базовой функцией BIT, неудивительно, что она доступна на вкладке «Основное программирование» в редакторе блоков.
  5. С другой стороны, «при встряхивании» - это обработчик событий, который вызывается всякий раз, когда пользователь вводит данные в BIT в виде быстрого встряхивания.
  6. Таким образом, обработчик события «при встряхивании» можно найти на вкладке «Программирование ввода» в редакторе блоков.

Шаг 6. Стартовое сообщение и функции задачи

Стартовое сообщение и функции задачи
Стартовое сообщение и функции задачи
Стартовое сообщение и функции задачи
Стартовое сообщение и функции задачи
Стартовое сообщение и функции задачи
Стартовое сообщение и функции задачи

Функция showMessage () Startup Message - это простая функция, которая очищает палитру светодиодов BITs с помощью команды очистки экрана и отображает прокручивающееся сообщение, предлагающее игроку угадать число.

Как видно из функционального блока showMessage, пара фиксированных фрагментов строки добавляется вместе к переменной GAME_RANGE, чтобы отобразить простое сообщение, в котором говорится:

Угадай 0-6!

Функция doChallenge () вызывается в начале каждого раунда вызова и, следовательно, выполняет следующие действия, как видно из функционального блока doChallenge:

  1. Инициализирует переменную playerGuess до нуля перед принятием нового ввода от игрока-человека
  2. Инициализирует переменную CHECK значением false - это означает, что раунд вот-вот начнется и еще не время сравнивать числа, угаданные обоими игроками.
  3. Затем, что наиболее важно, BIT выбирает случайное число из диапазона, определенного параметром GAME_RANGE, и записывает его в переменную bitGuessed.
  4. Наконец, светодиодная палитра загорается символом вопросительного знака, предлагающим игроку-человеку ввести данные в ответ на вызов BIT!

Примечание

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

Функция соединения представляет собой строковую функцию и может быть доступна на вкладке «Программирование текста» в редакторе блоков.

Шаг 7: Событие Button a Click - ответьте на вызов BITs

Событие Button a Click - ответьте на вызов BITs!
Событие Button a Click - ответьте на вызов BITs!

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

  1. Угадайте, какое число BIT может думать от 0 до 6
  2. Нажмите кнопку A столько раз, сколько будет ваш ответ - Пример, если ваш ответ - 3, затем нажмите кнопку A 3 раза.

Очевидно, что нажатие кнопки - это пользовательский ввод, и поэтому обработчик события «кнопка включения» доступен через вкладку «Программирование ввода» редактора блоков. Каждый раз, когда пользователь нажимает кнопку A, этот обработчик событий выполняет следующие действия:

  • Увеличьте значение переменной playerGuess на 1, пока оно находится в пределах лимита GAME_RANGE (в данном случае 6).
  • Если игрок отправляет 7 или выше, предположение становится недействительным, а значение playerGuess сбрасывается обратно на ноль, что по существу делает недействительными предположения игроков.

Следующее действие - отправить ответ на вызов, который мы рассмотрим на следующем шаге.

Шаг 8: Событие нажатия кнопки B - отправьте ответ на вызов BITs

Событие нажатия кнопки B - отправьте ответ на вызов BITs!
Событие нажатия кнопки B - отправьте ответ на вызов BITs!
Событие нажатия кнопки B - отправьте ответ на вызов BITs!
Событие нажатия кнопки B - отправьте ответ на вызов BITs!

Человек-игрок отправляет ответ на BIT, нажимая кнопку B один раз. В обработчике события «при нажатии» кнопки B происходит ряд шагов, как только BIT получает ответ игроков, как указано маркерами кода на изображении:

  1. Флаг CHECK установлен в True - сигнал для BIT, чтобы сравнить его предположение с предположением игроков.
  2. Подсчет очков происходит только в том случае, если оба игрока угадали числа больше нуля и в пределах предела GAME_RANGE (из 6), и если нет, вызывается функция showBadGuess () - игрок с правильным предположением получает очко, а игрок с неправильным предположением теряет одно!
  3. Если угадание игроков совпадает с таковым из BIT, вызывается функция showWin () - игрок выигрывает в этом раунде!
  4. В противном случае вызывается функция showLose () - BIT выигрывает в этом раунде!
  5. В конце каждого раунда с помощью функции announceWinner () выполняется проверка, чтобы узнать, выиграл ли один из двух игроков, набрав 3 очка - если да, игра завершается, объявляется окончательный победитель, а все результаты и сообщения сохраняются. сброс настроек
  6. BIT перезапускает игру, выдавая вызов, вызывая функцию doChallenge (), и ожидает ответа игрока, и процесс повторяется.

Мы обсудим новые функции на следующих шагах.

Ждать! Как вы угадываете НОЛЬ?

  • Если вы посмотрите на математическую функцию random (), вы увидите, что ее начальное значение установлено на ноль и не может быть изменено.
  • Таким образом, BIT может угадать ноль и бросить вызов игроку в результате этого ограничения.
  • Точно так же игрок-человек может отправить нулевое предположение, просто нажав кнопку B, не нажимая сначала кнопку A!
  • Если это разрешено, то игроку-человеку не нужно прилагать никаких усилий, чтобы играть, и это не имеет смысла!
  • Таким образом, это ограничение было компенсировано Бюллетенем №2. обсуждалось выше

Шаг 9: выигрыш / проигрыш и остальные функции

Выигрыш / проигрыш и остальные функции
Выигрыш / проигрыш и остальные функции
Выигрыш / проигрыш и остальные функции
Выигрыш / проигрыш и остальные функции
Выигрыш / проигрыш и остальные функции
Выигрыш / проигрыш и остальные функции

Все эти функции вызываются обработчиком события Button B «при нажатии», как показано на предыдущем шаге.

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

  1. Функция showWin () отображает сообщение, указывающее, что игрок выиграл этот раунд испытания, и увеличивает переменную PLAYER_SCORE на 1.
  2. Точно так же функция showLose () отображает неверное предположение игрока и присуждает балл BIT, увеличивая переменную BIT_SCORE на 1.
  3. Функция showBadGuess () отображает на экране большой значок X, указывающий, что один из игроков сделал неверное предположение (0 или больше 6) - плохой игрок в этом случае теряет очко, а другой получает очко!

И, наконец, функция announceWinner () выполняет задачу объявления главного победителя после 3 раундов запроса / ответа, за которыми следуют:

  • Сброс переменных счета PLAYER_SCORE и BIT_SCORE
  • Кратковременная пауза и запуск новой игры путем вызова функции запуска showMessage (), описанной в предыдущем шаге (6) этого IBLE

Наконец, переходим к симулятору и коду!

Шаг 10: Симулятор и код

Симулятор и код
Симулятор и код

Код работает в онлайн-симуляторе, расположенном здесь

  • Симулятор расположен в левом нижнем углу страницы.
  • Кроме того, для загрузки кода можно использовать кнопку «Загрузить», если у вас под рукой есть BBC Microbit.
  • Как упоминалось в начале IBLE, вам не нужен BBC Microbit для создания кода в редакторе блоков или для моделирования и тестирования вашего кода, хотя это не работает для любопытных людей, таких как я!

Примечание о кнопке редактирования

  • Если вы заметили, код находится в общественном достоянии, и есть способ отредактировать его, используя кнопку «Изменить» в правом верхнем углу.
  • Однако я искренне прошу вас сделать копию этого кода и изменить ее в соответствии с вашими потребностями, чтобы исходная версия была сохранена в интересах этого IBLE.

Спасибо! И счастливого кодирования !!!:-)

Рекомендуемые: