Слова «переворот в сознании» уже звучали в отношении BBC micro:bit. Но они возникают вновь и вновь по мере освоения этого миниатюрного, изящного и вместе с тем мощного микроконтроллера. Его несомненные достоинства — самодостаточность и доступность — ориентированы на обычного ребёнка-школьника, и дают возможность ввести его в цифровой мир, где он примерит роль не потребителя, а любопытного и заинтересованного создателя, например, компьютерной игры.
Для разработки увлекательной micro:bit-игры не потребуется никаких дополнительных аксессуаров, кроме самого микроконтроллера и источника питания. При этом игра может быть всегда под рукой – микроконтроллер легко помещается в небольшом кармане. Можно поиграть с одноклассниками, родителями, которые по достоинству оценят не только ваше мастерство игрока, но в большей степени – мастерство разработчика. Отличная мотивация для новых свершений!
Самодостаточность микроконтроллера обеспечивается небольшим (5х5) светодиодным дисплеем, программируемыми кнопками, встроенными датчиками и Bluetooth-антенной. Bluetooth-коммуникация в игровом пространстве как собственная разработка «рядового» шести- или семиклассника, воспринимаемая без удивления, — вот это и есть «переворот в сознании».
Компьютерная игра – это STEM-проект, в котором естественным образом переплетаются и не разделяются различные предметные области. Например, в простой, казалось бы, игре «Камень, ножницы, бумага», над которой мы работали с 5-классниками, возникают и решаются вопросы кодирования, симметрии, беспроводной передачи сигналов, помехоустойчивости и другие. Разрабатывая игру от простого варианта к более сложному, более интересному (а это означает, что есть сильный мотивирующий фактор) дети проходят по циклическому пути инженерного проектирования, осваивая его не как теорию, которую нужно выучить, а на реальной практике.
Разработчики ПО микроконтроллера хорошо позаботились о будущих проектировщиках игр. В блочном редакторе есть встроенная библиотека «Игра», которая позволяет простыми средствами достичь сложных эффектов и, кроме того, содержит модули для работы со спрайтами. Это означает, что светодиод может быть описан как объект с управляемыми координатами, который можно пошагово перемещать, в том числе, по диагонали, создавать и удалять, и который реагирует на столкновение с другими спрайтами.
Ниже - несколько примеров игровых программ. Если у вас ещё нет микроконтроллера BBC micro:bit, вы можете использовать для игры эмулятор, встроенный в редактор кода.
- Популярная игра «Поймай яйцо».
С заданным временным интервалом в верхней строчке дисплея в случайной позиции появляется спрайт «яйцо», которое немедленно начинает падать вниз. В нижней строчке дисплея находится спрайт «корзина», который может перемещаться по горизонтали, повинуясь наклонам микроконтроллера (работает акселерометр!). Задача игрока поймать как можно больше яиц в свою корзину.
Игра начинается нажатием кнопки A и останавливается одновременным нажатием кнопок A и B. Эмулятор акселерометра реагирует на перемещение курсора мыши справа налево и слева направо.
https://makecode.microbit.org/_YgjM712rEa1X - «Космический корабль и метеоры». (Первоисточник: https://youtu.be/m5vFKOAFOIw)
Игра похожа на предыдущую, но здесь надо «космическому кораблю», который находится на нижней строчке дисплея, увернуться от метеоров, попав в узкий просвет между ними. С точки зрения программирования задача немного сложнее, так как программируется одновременное движение группы светодиодов-метеоров.
Запускается игра жестом «встряхивание», останавливается одновременным нажатием кнопок A и B. «Космический корабль» управляется кнопками A и B.
https://makecode.microbit.org/_2o56PaHoiJLJ - «Космические войны». (Первоисточник: https://youtu.be/l7LTg15KPgE). Игра для двух микроконтроллеров. Кнопками A и B можно перемещать свой космический корабль вправо и влево. Одновременное нажатие кнопок A и B – выстрел по противнику. Выстрел с помощью радиосигнала передаётся на второй микроконтроллер. Жестом «встряхивание» на дисплей выводятся набранные в игре очки.
https://makecode.microbit.org/_Cpk8URX9sfiY
Это – несложные проекты для начинающих. В дальнейшем можно попробовать свои силы в проектировании «micro:bit-тетриса» или «micro:bit-змейки», например.