はじめに
これは FizzBuzz Advent Calendar 2017 21 日目の記事となります。
micro:bit で FizzBuzz をやってみます。micro:bit が何なのかについては Wikipedia を参照してみてください。
コード
ブロックエディタ
ブロックエディタ (https://makecode.microbit.org/) で FizzBuzz を書いてみました。
JavaScript に切り替えるとこのようなコードに展開されるようです。
microbit_FizzBuzz.hex
let v = 0
basic.forever(() => {
for (let i = 0; i <= 99; i++) {
v = i + 1
if (v % 3 == 0 && v % 5 == 0) {
basic.showString("Fizz Buzz")
} else {
if (v % 3 == 0) {
basic.showString("Fizz")
} else {
if (v % 5 == 0) {
basic.showString("Buzz")
} else {
basic.showNumber(v)
}
}
}
}
})
冗長だからとコードを直接書き換えてブロックエディタに戻すとうまくブロックにならないと思います...そこは妥協しましょう (w
See Also:
Arduino IDE
別途ライブラリを導入することによって、Arduino IDE でも micro:bit のプログラムを行う事ができます。
LED スクリーンライブラリもある (作った) ので簡単に文字列表示できます。
microbit_fizzbuzz.ino
#include "microbit_Screen.h"
void setup() {
SCREEN.begin();
}
void loop() {
for (int v = 1; v <= 100; v++) {
if (v % 3 == 0 && v % 5 == 0)
SCREEN.showString("Fizz Buzz");
else if (v % 3 == 0)
SCREEN.showString("Fizz");
else if (v % 5 == 0)
SCREEN.showString("Buzz");
else
SCREEN.showNumber(v);
}
}
See Also:
- Arduino (arduino.cc)
- Arduino Core for Nordic Semiconductor nRF5 based boards (GitHub)
- BBC micro:bit (DEKO のアヤシいお部屋)
- micro:bit with Arduino (Adafruit)
- LED Screen library for micro:bit (for "Arduino Core for Nordic Semiconductor nRF5 based boards") (GitHub)