# マイクロビット (micro:bit) v2を使って、「じゃんけん」マシンを作ろう!
# 1. 実現したいこと
二つ以上のmicro:bit(マイクロビット)v2を使って、じゃんけんマシンを作る。
- 1人に一つのmicro:bit(マイクロビット)v2を持って、同じタイミングでそれぞれボタンBを押して、ランダムにグー、チョキ、パーをLEDディスプレイに表示することで、みんなでじゃんけんとする
- グー、チョキ、パーに合わせて、それぞれ音を鳴らす
- ボタンAを押せば、「ROCK PAPER SCISSORS」と「SHOOT!」が表示された後、「→」が表示して、じゃんけんで押すボタン(B)を教えてくれる
- 電源入れた直後では、じゃんけんで押すボタン(B)を教えてくれる
# 2. 必要な台数
micro:bit(マイクロビット)v2 × 2台以上
# 3. プログラミングのサンプル
以下は、すぐに「じゃんけん」マシンを使えるサンプルプログラムです。
下記いずれの方法を利用して、ご自分のmicro:bit(マイクロビット)v2で試すことができます。
# MakeCode ブロック
下記ウィンドウの右上の編集マークをクリックすることで、ご自分の端末のブラウザで下記サンプルを開くことができます。
# MakeCode JavaScriptコード
input.onButtonPressed(Button.A, function () {
basic.clearScreen()
basic.showString("ROCK PAPER SCISSORS")
basic.clearScreen()
basic.showString("SHOOT!")
basic.clearScreen()
basic.showLeds(`
. . # . .
. . . # .
# # # # #
. . . # .
. . # . .
`)
})
input.onButtonPressed(Button.B, function () {
basic.clearScreen()
rockpaperscissors = 0
rockpaperscissors = randint(1, 3)
if (rockpaperscissors == 1) {
basic.showLeds(`
. . . . .
. # # # .
. # # # .
. # # # .
. . . . .
`)
music.playTone(330, music.beat(BeatFraction.Whole))
} else if (rockpaperscissors == 2) {
basic.showLeds(`
. . . . #
# # . # .
# # # . .
# # . # .
. . . . #
`)
music.playTone(349, music.beat(BeatFraction.Whole))
} else {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
music.playTone(392, music.beat(BeatFraction.Whole))
}
basic.pause(5000)
basic.showLeds(`
. . # . .
. . . # .
# # # # #
. . . # .
. . # . .
`)
})
let rockpaperscissors = 0
basic.showLeds(`
. . # . .
. . . # .
# # # # #
. . . # .
. . # . .
`)
# MakeCode pythonコード
def on_button_pressed_a():
basic.clear_screen()
basic.show_string("ROCK PAPER SCISSORS")
basic.clear_screen()
basic.show_string("SHOOT!")
basic.clear_screen()
basic.show_leds("""
. . # . .
. . . # .
# # # # #
. . . # .
. . # . .
""")
input.on_button_pressed(Button.A, on_button_pressed_a)
def on_button_pressed_b():
global rockpaperscissors
basic.clear_screen()
rockpaperscissors = 0
rockpaperscissors = randint(1, 3)
if rockpaperscissors == 1:
basic.show_leds("""
. . . . .
. # # # .
. # # # .
. # # # .
. . . . .
""")
music.play_tone(330, music.beat(BeatFraction.WHOLE))
elif rockpaperscissors == 2:
basic.show_leds("""
. . . . #
# # . # .
# # # . .
# # . # .
. . . . #
""")
music.play_tone(349, music.beat(BeatFraction.WHOLE))
else:
basic.show_leds("""
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
""")
music.play_tone(392, music.beat(BeatFraction.WHOLE))
basic.pause(5000)
basic.show_leds("""
. . # . .
. . . # .
# # # # #
. . . # .
. . # . .
""")
input.on_button_pressed(Button.B, on_button_pressed_b)
rockpaperscissors = 0
basic.show_leds("""
. . # . .
. . . # .
# # # # #
. . . # .
. . # . .
""")
# QRコード
カメラでQRコードをかざすことで、すぐにMakeCodeにアクセスして、サンプロコードを使えます。
参考:micro:bitは、イフティニー ストアでお買い求めいただけます
当社はmicro:bitの公認正規販売店です。国内のmicro:bit利用推進を行っております。
micro:bit専門ストア「イフティニー ストア(iftiny store)」 (opens new window)にて、各種micro:bit関連製品の販売をしております。