# micro:bit v2を使って、「じゃんけん」マシンを作ろう!






# 実現したいこと


二つ以上のmicro:bit(マイクロビット)v2を使って、じゃんけんマシンを作る。

  • 1人に一つのmicro:bit(マイクロビット)v2を持って、同じタイミングでそれぞれボタンBを押して、ランダムにグー、チョキ、パーをLEDディスプレイに表示することで、みんなでじゃんけんとする
  • グー、チョキ、パーに合わせて、それぞれ音を鳴らす
  • ボタンAを押せば、「ROCK PAPER SCISSORS」と「SHOOT!」が表示された後、「→」が表示して、じゃんけんで押すボタン(B)を教えてくれる
  • 電源入れた直後では、じゃんけんで押すボタン(B)を教えてくれる







# 必要な台数


micro:bit(マイクロビット)v2 × 2台以上




# プログラミングのサンプル

以下は、すぐに「じゃんけん」マシンを使えるサンプルプログラムです。
下記いずれの方法を利用して、ご自分の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 v2 game rock-paper-scissors


Last Updated: 4/6/2021, 12:53:00 PM