К сожалению, такой код уже достаточно сложен для редактирования в блочном редакторе, хотя в принципе это и возможно. Если все-таки переключиться в редактор, мы увидим такую картину:

Также редактор формирует не совсем удобный для чтения код, например строки
let N = 4
let x: number[] = [0, 1, 2, 3]
let y: number[] = [4, 4, 4, 4]
при переключении “туда-обратно” автоматически заменяются на
let y: number[] = []
let x: number[] = []
let N = 0
N = 4
x = [0, 1, 2, 3]
y = [4, 4, 4, 4]
Это не влияет на работоспособность программы, но читать такой код становится менее удобно.
Самостоятельная работа #1: Изменить длину “змеи”, для этого достаточно заменить параметр N и изменить начальные значения массивов координат.
Самостоятельная работа #2: Разместить на экране 3-4 дополнительные точки, которые змея сможет “съедать”. Для проверки “съедения” достаточно убедиться что новые координаты “головы” совпадают с координатами точки. Когда точка “съедена”, ее координаты можно заменить на недействительные, например на -1,-1. Опционально, можно увеличивать длину змеи, если она “съела” одну точку, для этого придется добавить новые элементы в массивы x и y и увеличить значение N. Добавить элемент к массиву можно, используя функцию push, таким образом, код увеличения “змеи” будет выглядеть так:
x.push(x[N - 1])
y.push(y[N - 1])
N = N + 1
5.6 Воспроизведение звука

Весьма интересными и несложными являются опыты со звуком. Сначала нужно подключить к BBC:Micro наушники или внешнюю колонку, схема подключения показана на рисунке справа.
Кабель с зажимами можно сделать самостоятельно, или купить готовый. Само воспроизведения звука не представляет какой-либо сложности. Есть два варианта.
1) Можно воспроизвести несложную мелодию из списка уже предустановленных, это может пригодиться, например в игре. Вот такой несложный блок воспроизведет Happy Birthday при нажатии на кнопку “А”:
2) Можно воспроизвести собственную мелодию, для чего потребуется задать высоту и длительность каждой ноты. При нажатии на ноту даже открывается окно мини-клавиатуры:

Разумеется, можно воспроизводить ноту или мелодию не только при нажатии на кнопку, но и при каком-либо событии, например при начале или окончании игры.
5.7 Использование радиомодуля
Помимо обычных способов ввода-вывода, BBC Micro:bit имеет встроенный радиомодуль. Это позволяет например, делать игры, в которые можно играть вдвоем - можно обмениваться данными между устройствами (разумеется, для этого нужно иметь как минимум 2 платы Micro:bit).
Функции для использования радиомодуля весьма просты - можно посылать число, строку или пару “имя-значение”. Для приема данных обработчики сообщений с аналогичными названиями.
Простая программа, показанная ниже, отправляет число 42 по нажатию кнопки B, на второй плате в это же время загорится “смайлик”.

5.8 Используем serial-порт
В главе про Arduino мы уже рассматривали использование последовательного порта для отладки программ. То же самое можно сделать и на BBC Micro:bit.
Шаг 1. Поставить драйвер последовательного порта, ссылка на который есть на странице mbed.com. При подключении платы к компьютеру в системе должен появиться новый COM-порт.
Шаг 2. Добавить компонент Serial port в визуальном редакторе. К примеру, вот такая несложная программа отправляет в порт значения акселерометра:

Отправлять данные можно различными способами, весьма удобен формат CSV (comma separated values), который выглядит примерно так:
0,-240,608,-768;
1,-288,848,-384;
2,-288,912,-672;
3,-368,672,-640;
4,-224,320,-960;
5,-192,-240,-976;
6,-160,-544,-752;
Формат CSV удобен тем, что для его обработки есть много различных программ, например его можно открыть в Microsoft Excel.
Шаг 3. Поставить программу чтения данных. Для этого можно использовать любую программу, умеющую работать с СОМ-портом, например, Hercules. Предварительно в “Диспетчере устройств” нужно найти новый порт, появляющийся при подключении платы (если порт не появляется, нужно переустановить драйвер).
Данные при подключенной плате выглядят примерно так:

Получив принятые данные, их можно открыть на компьютере. К примеру, вот такой график значений акселерометра получается при покачивании платы в руке (график был построен онлайн с помощью https://plot.ly/create/):

5.9 Подключаем внешние устройства
Как было показано выше, BBC Micro:bit имеет практически все необходимое для автономной работы. Но разумеется, при желании, можно подключить и внешние устройства.
Аналоговые величины можно считывать с помощью функции analog read. Это позволит подключать большое количество аналоговых устройств - датчики температуры, освещенности, влажности и пр.
В простейшем случае, можно подключить переменный резистор между выводами GND и 3V, и при вращении ручки значение будет меняться от 0 до 1023. Справа приведен пример подключения фоторезистора, что позволит измерять освещенность.
Блок-схема для вывода аналоговой величины на экране показана ниже:

Кроме чтения, есть и аналогичная функция analog write, позволяющая выводить значения, используя ШИМ. Желающие могут перечитать главу 2.4, где это описывалось подробнее.
Функция servo write pin позволяет управлять серво-машинкой, которую можно повернуть за заданный угол. Схема подключения показана на рисунке справа.
При желании использовать различные устройства и датчики, проще купить специальную плату расширения, т.к. контакты Micro:bit не очень удобны для самостоятельного подключения.
Можно также приобрести и модуль расширения с макетной платой, как показано на рисунке ниже. Такая плата позволит легко подключать различные устройства - кнопки, переключатели, светодиоды, потенциометры.

Стоит лишь иметь в виду, что BBC Micro:bit изначально ориентирована на начинающих, и делать на ней более-менее сложные проекты нецелесообразно. В том случае, когда возможностей Micro:bit станет мало, проще перейти на Arduino или на ESP32.
На этом данная часть книги закончена. Разумеется, описать все невозможно, но можно надеяться, что приведенный материал станет неплохой точкой для старта. Что-то недостающее или непонятное, уже можно будет найти с помощью Гугла или Яндекса.
По мере появления нового материала, он будет добавляться, стоит следить за обновлением версии книги в начале текста. Последнюю версию можно скачать на странице https://cloud.mail.ru/public/F6Vf/nY6iSxXcd.