# Rock Paper Scissors Activity

Make a cool Rock Paper Scissors game in this activity!

• Ages 8+
• 30 mins
• MakeCode Editor

## Introduction

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

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