Rock Paper Scissors
Introduction

Use the accelerometer and the screen to build a Rock Paper Scissors game that you can play with your friends!
Step 1
Add a ||input:on shake|| block to run code when you shake the micro:bit.
input.onGesture(Gesture.Shake, () => {
})
Step 2
Add a hand variable and place the ||variables:set hand to|| block in the shake event.

Step 3
Add a ||math:pick random|| block to pick a random number from 1 to 3 and store it in the variable named hand.
let hand = 0;
input.onGesture(Gesture.Shake, () => {
hand = randint(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 matching number is picked.
Step 4
Place an ||logic:if|| block under the ||math:pick random|| and check whether hand is equal to 1. Add a ||basic:show leds|| block that shows a picture of a piece of paper. The number 1 will mean paper.

let hand = 0;
input.onGesture(Gesture.Shake, () => {
hand = randint(1, 3)
if (hand == 1) {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
}
})
Step 5
Click on the SHAKE button in the simulator. If you try enough times, you should see a picture of paper on the screen.

Step 6
Click the (+) button to add an ||logic:else|| section.

let hand = 0;
input.onGesture(Gesture.Shake, () => {
hand = randint(1, 3)
if (hand == 1) {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
} else {
}
})
Step 7
Add a ||basic:show leds|| block inside the ||logic:else||. Make a picture of a scissors in the LEDs.
let hand = 0;
input.onGesture(Gesture.Shake, () => {
hand = randint(1, 3)
if (hand == 1) {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
} else {
basic.showLeds(`
# # . . #
# # . # .
. . # . .
# # . # .
# # . . #
`)
}
})
Step 8
Click the + button again to add an ||logic:else if|| section. Now, add a conditional block for ||logic:hand = 2|| to the condition in ||logic:else if||. Since hand can only be 1, 2, or 3, your code is covering all possible cases!

Step 9
Get one more ||basic:show leds|| block and put it in the ||logic:else if||. Make a picture of a rock in the LEDs.
let hand = 0;
input.onGesture(Gesture.Shake, () => {
hand = randint(1, 3)
if (hand == 1) {
basic.showLeds(`
# # # # #
# . . . #
# . . . #
# . . . #
# # # # #
`)
} else if (hand == 2) {
basic.showLeds(`
. . . . .
. # # # .
. # # # .
. # # # .
. . . . .
`)
} else {
basic.showLeds(`
# # . . #
# # . # .
. . # . .
# # . # .
# # . . #
`)
}
})
Step 10
Click on the SHAKE button in the simulator and check to see that each image is showing up.

Step 11
If you have a micro:bit, click on |Download| and follow the instructions to get the code
onto your micro:bit. Your game is ready! Gather your friends and play Rock Paper Scissors!
