Rock Paper Scissors Activity

Make a cool Rock Paper Scissors game in this activity!

  • Get started
  • MakeCode
  • Random
Print lesson
  • 年齢 8+
  • 30 分
  • MakeCode Editor

はじめに

This project teaches you how to create a game of rock paper scissors using the "random" block and the LEDs.

先生用ガイド

開く 開く teacher resources

アクティビティ

全8ステップ

ステップ 1

We want the micro:bit to choose rock, paper, or scissors when you shake it. Place a on shake block so when you shake the micro:bit, it will run part of a program.


input.onGesture(Gesture.Shake, () => {
  
})
          

ステップ 2

Add a weapon variable to store a random number computed with pick random.

When you shake the micro:bit, it should pick a random number from 1 to 3 and store it in the variable weapon. (This variable is named weapon because rock, paper, and scissors are the weapons you use to battle your friends!)


let weapon = 0
input.onGesture(Gesture.Shake, function () {
    weapon = Math.randomRange(1, 3)
})
          

In a later step, each of the possible numbers (1, 2, or 3) is matched to its own picture. The picture is shown on the LEDs when its number is picked.

ステップ 3

Place an if block under the pick random and check whether weapon is equal to 1.


let weapon = 0
input.onGesture(Gesture.Shake, function () {
    weapon = Math.randomRange(1, 3)
    if (weapon == 1) {
      
    }
})
          

ステップ 4

In the if block, place a show leds block that shows a picture of a piece of paper.


let weapon = 0
input.onGesture(Gesture.Shake, function () {
    weapon = Math.randomRange(1, 3)
    if (weapon == 1) {
        basic.showLeds(`
            # # # # #
            # . . . #
            # . . . #
            # . . . #
            # # # # #
            `)
    }
})
          

ステップ 5

Click '+' to add an 'else' and 'else if' section, then add a condition to check whether weapon is equal to 1.


let weapon = 0
input.onGesture(Gesture.Shake, function () {
    weapon = Math.randomRange(1, 3)
    if (weapon == 1) {
        basic.showLeds(`
            # # # # #
            # . . . #
            # . . . #
            # . . . #
            # # # # #
            `)
    } else if (weapon == 2) {
      
    } else {
      
    }
})
          

ステップ 6

Place a show leds block under the else if and draw a rock image on the screen.


let weapon = 0
input.onGesture(Gesture.Shake, function () {
    weapon = Math.randomRange(1, 3)
    if (weapon == 1) {
        basic.showLeds(`
            # # # # #
            # . . . #
            # . . . #
            # . . . #
            # # # # #
            `)
    } else if (weapon == 2) {
        basic.showLeds(`
            . . . . .
            . # # # .
            . # # # .
            . # # # .
            . . . . .
            `)
    } else {

    }
})
          

ステップ 7

Add a show leds block with a picture of scissors to the else part.

You don’t need to check if weapon is 2 because 2 is the only number left out of 0, 1, and 2. That’s why you can use an else instead of an else if (click the '+' button to add extra else / else if statements to your condition).


let weapon = 0
input.onGesture(Gesture.Shake, function () {
    weapon = Math.randomRange(1, 3)
    if (weapon == 1) {
        basic.showLeds(`
            # # # # #
            # . . . #
            # . . . #
            # . . . #
            # # # # #
            `)
    } else if (weapon == 2) {
        basic.showLeds(`
            . . . . .
            . # # # .
            . # # # .
            . # # # .
            . . . . .
            `)
    } else {
        basic.showLeds(`
            # # . . #
            # # . # .
            . . # . .
            # # . # .
            # # . . #
            `)
    }
})
          

Step Eight

これで準備完了です!友達をあつめてじゃんけんぽんゲームをしてみよう!

チャレンジ

次の機能を追加してみてください。

  • Display animations for the different options
  • Change it for Rock Paper Scissors Spock Lizard

Learn More

The 'Magic Button' activity introduces inbuilt sensors, teaching you how to measure magnetism.

Selecting this opens external content from our support system, which adheres to their privacy policy.