Rock Paper Scissors Activity

Make a cool Rock Paper Scissors game in this activity!

  • Get started
  • MakeCode
  • Random
Print lesson
  • Kor 8+
  • 30 perc
  • MakeCode Editor

Bevezetés

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

Teacher Guide

Open Open teacher resources

Activity

8 steps

Step One

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, () => {
  
})
          

Step Two

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.

Step Three

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) {
      
    }
})
          

Step Four

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(`
            # # # # #
            # . . . #
            # . . . #
            # . . . #
            # # # # #
            `)
    }
})
          

Step Five

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 {
      
    }
})
          

Step Six

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 {

    }
})
          

Step Seven

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

Your game is ready! Gather your friends and play Rock Paper Scissors!

Challenge

Try to add the following functionality:

  • 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.