# Compass ## ~avatar avatar Welcome! This guided tutorial will show you how to program a script that displays which direction the @boardname@ is pointing. Let's get started! ## ~ ![](/static/mb/projects/a5-compass.png) Display the direction that the @boardname@ is facing using the compass. ## Step 1 Create a loop that will continuously update the reading of the compass. ```blocks basic.forever(() => { }) ``` ## Step 2 Store the reading of the @boardname@ in a variable called `degrees`. ```blocks basic.forever(() => { let degrees = input.compassHeading() }) ``` ## Step 3 If `degrees` is less than `45` or greater than `315`, then the compass heading is mostly pointing toward **North**. Display `N` on the @boardname@. ```blocks basic.forever(() => { let degrees = input.compassHeading(); if (degrees < 45 || degrees > 315) { basic.showString("N"); } }); ``` ## Step 4 If `degrees` is less than `135`, the @boardname@ is mostly pointing **East**. Display `E` on the @boardname@. ```blocks basic.forever(() => { let degrees = input.compassHeading(); if (degrees < 45 || degrees > 315) { basic.showString("N"); } else if (degrees < 135) { basic.showString("E"); } }); ``` ## Step 5 If `degrees` is less than `225`, the @boardname@ is mostly pointing **South**. Display `S` on the @boardname@. ```blocks basic.forever(() => { let degrees = input.compassHeading(); if (degrees < 45 || degrees > 315) { basic.showString("N"); } else if (degrees < 135) { basic.showString("E"); } else if (degrees < 225) { basic.showString("S"); } }); ``` ## Step 6 If none of these conditions returned true, then the @boardname@ must be pointing **West**. Display `W` on the @boardname@. ```blocks basic.forever(() => { let degrees = input.compassHeading(); if (degrees < 45 || degrees > 315) { basic.showString("N"); } else if (degrees < 135) { basic.showString("E"); } else if (degrees < 225) { basic.showString("S"); } else { basic.showString("W"); } }); ```