Activity

# Which way now?

Beginner | MakeCode, Python | Accelerometer, LED display | Performance tools, Randomisation, Selection, Variables

## Step 1: Make it

### What is it?

Shake your micro:bit and be given a random direction to walk. You will learn about variables, and using random numbers, selection and comparison logic blocks.

These two videos show you what you'll make and how to code it:

### How it works

• The program uses a variable called “direction” to store a random number.
• Variables store numbers or values that can change in a computer program.
• Shake the micro:bit to set “direction” to a random number between one and three.
• The program then uses selection and comparison logic blocks to test the value of the variable.
• If “direction” is equal to 1, then an arrow pointing north shows on the micro:bit’s LED display. If “direction” is equal to 2, then the arrow points east. Otherwise, the arrow points west.
• To make the battery last longer, the program pauses for half a second after the arrow appears then clears the screen.

### What you need

• micro:bit (or MakeCode simulator)
• MakeCode editor
• battery pack (optional but recommended)

## Step 2: Code it

``````1# Imports go at the top
2
3
4
5from microbit import *
6import random
7
8while True:
9    if accelerometer.was_gesture('shake'):
10        random_number = random.randint(1, 3)
11        if random_number == 1:
12            display.show(Image.ARROW_N)
13        elif random_number == 2:
14            display.show(Image.ARROW_E)
15        else:
16            display.show(Image.ARROW_W)
17    sleep(2000)
18    display.clear()
``````