Проект 4. Игра в кости
Создадим виртуальный игральный кубик (игральные кости) с помощью микро:бит.
Вступление:
В этом проекте Вы познакомитесь с условием выбора ЕСЛИ … ТО …ИНАЧЕ, а также узнаете о генерации случайных чисел и закрепите знания вывода на экран.
Ход работы:
Шаг 1
Создадим программу, которая позволяет микро:бит реагировать на встряхивание платы. В редакторе MakeCode выберите раздел «Ввод» из меню блоков и выберите блок «по жесту встряхивание».
Находясь в рабочей области, блок «встряхивание» может быть изменен на другие жесты, такие как наклон влево или вправо. Для этого проекта выбран жест встряхивания.
Шаг 2
Теперь ваша программа реагирует на встряску платы микро:бит. Нам нужно добавить действие, которое она будет исполнять при встряхивании.
В меню блоков выберите раздел «Переменная» и нажмите «Создать переменную». Всплывающее диалоговое окно попросит назвать вашу переменную. В этом примере назовите переменную «Roll» (с англ. Roll – катить, перекатывать).
Теперь, когда переменная под названием «Roll» создана, нам нужно выбрать случайное число от 1 до 6. В меню блоков выберите раздел «Математика» и выберите блок «выбрать случайно от 0 до 10».
Перетащите блок «выбрать случайно» в рабочую область и подключите его к блоку «задать для Roll значение», заменив «0» на «1» и «10» на «6». Теперь программа будет выбирать случайное число от 1 до 6 каждый раз, когда встряхнуть микро:бит. Число сохраняется в переменной «Roll».
Шаг 3
Теперь микро:бит должен отображать другой результат, основанный на переменной Roll. Это известно как условие выбора. Для этого будем использовать блок «ЕСЛИ … ТО … ИНАЧЕ». Блок условия выбора можно найти в меню блоков в разделе «Логика».
Добавьте логическое утверждение «ЕСЛИ…ТО…ИНАЧЕ» и нажмите кнопку «+», чтобы добавить логику для нескольких условий.
Существует всего 6 возможных вариантов выпадения кубика (на кубике 6 граней с числами). Поэтому нам необходимо добавить ещё 4 оператора «ИНАЧЕ ЕСЛИ». Поскольку уже есть первое утверждение «ЕСЛИ», за которым следуют 4 утверждения «ИНАЧЕ ЕСЛИ» и заключительное утверждение «ИНАЧЕ». Итого: все 6 вариантов мы описали.
Шаг 4
Теперь нам нужно создать логическое утверждение для оператора ЕСЛИ, которое будет основано на текущем значении переменной Roll. Из раздела «Логика» в меню блоков выберите блок «равно».
Перетащите блок «равно» на блок оператора «ЕСЛИ».
Чтобы микро:бит основывал оператор ЕСЛИ на случайном числе, необходимо проверить значение, хранящееся в переменной «Roll». Переменная «Roll» находится в разделе «Переменные» в меню блоков.
Первая из 6 проверок выполняется, если переменная «Roll» равна 1. Поместите переменную «Roll» в блок «равно» (=).
Теперь этот процесс необходимо повторить для остальных 4 операторов «ИНАЧЕ ЕСЛИ». Щелкнув правой кнопкой мыши по блоку «равно», он может быть продублирован и модифицирован для различных возможных значений.
Шаг 5
Завершающим этапом программы является отображение разных узоров для разных граней кубика. Из раздела «Основное» в меню блоков выберите блок «Показать светодиоды».
Перетащите блок «Показать светодиоды» в рабочую область и поместите под первый оператор «ЕСЛИ». Нажав на темно-синие квадраты, вы можете создать требуемый шаблон матрицы (светящиеся светодиоды отображаются белым цветом). Для этого примера шаблон для цифры «1» показан ниже.
Этот блок снова может быть продублирован 5 раз для других граней кубика, пока все условия не будут заполнены. Окончательная программа показана ниже. Сохраните проект и загрузите на микро: бит.
Результат работы программы:
Вызов:
Попробуйте добавить следующую функциональность:
- Добавьте анимацию прокручивания граней.
- Разрешить пользователю указывать количество граней (например, 6 или 8 или 12)