3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

FizzBuzzAdvent Calendar 2017

Day 21

micro:bit で FizzBuzz

Last updated at Posted at 2017-12-20

はじめに

これは FizzBuzz Advent Calendar 2017 21 日目の記事となります。
micro:bit で FizzBuzz をやってみます。micro:bit が何なのかについては Wikipedia を参照してみてください。

コード

ブロックエディタ

ブロックエディタ (https://makecode.microbit.org/) で FizzBuzz を書いてみました。

FireShot Capture 23 - microbit_FizzBuzz - makecode.microbit.org - https___makecode.microbit.org_.png

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 のプログラムを行う事ができます。

image.png

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:

おわりに

micro:bitArduino のアドベントカレンダーも開催されているようなので、興味のある方は是非!

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?