Migrate docs from the other repo
This commit is contained in:
128
docs/lessons/magic-8/activity.md
Normal file
128
docs/lessons/magic-8/activity.md
Normal file
@ -0,0 +1,128 @@
|
||||
# magic 8 activity
|
||||
|
||||
A fortune teller game on the micro:bit
|
||||
|
||||
Welcome! This tutorial will help you create a magic 8 ball on the micro:bit. Let's get started!
|
||||
|
||||
Show a string to instruct the user how to play Magic 8! The magic 8 ball can only answer true or false questions.
|
||||
|
||||
|
||||
```blocks
|
||||
basic.showString("ASK A QUESTION")
|
||||
```
|
||||
|
||||
Display the number 8.
|
||||
|
||||
|
||||
```blocks
|
||||
basic.showString("ASK A QUESTION")
|
||||
basic.showNumber(8)
|
||||
```
|
||||
|
||||
Create a condition for when the micro:bit is shaken. Then use the block `clear screen` to clear the 8 from the display.
|
||||
|
||||
```blocks
|
||||
basic.showString("ASK A QUESTION")
|
||||
basic.showNumber(8)
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
basic.clearScreen()
|
||||
});
|
||||
```
|
||||
|
||||
Create a variable of type number called **randomNumber**. Set **randomNumber** to a random number with a limit of 2. Remember the random function in the math library, picks a random number from 0 to the limit, but not including the limit unless it is 0.
|
||||
|
||||
```blocks
|
||||
|
||||
basic.showString("ASK A QUESTION")
|
||||
basic.showNumber(8)
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
basic.clearScreen()
|
||||
let randomNumber = Math.random(2)
|
||||
|
||||
});
|
||||
|
||||
|
||||
```
|
||||
|
||||
Create an if statement for the condition `if randomNumber = 2`. If **randomNumber** is 2, display the string 'Yes'
|
||||
|
||||
|
||||
```blocks
|
||||
basic.showString("ASK A QUESTION")
|
||||
basic.showNumber(8)
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
basic.clearScreen();
|
||||
let randomNumber = Math.random(2);
|
||||
if (randomNumber == 2) {
|
||||
basic.showString("YES");
|
||||
}
|
||||
});
|
||||
|
||||
```
|
||||
|
||||
|
||||
Create an if statement for the condition `if randomNumber = 1`. If randomNumber is 1, display the string 'No'
|
||||
|
||||
```blocks
|
||||
basic.showString("ASK A QUESTION")
|
||||
basic.showNumber(8)
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
basic.clearScreen()
|
||||
let randomNumber = Math.random(2)
|
||||
if (randomNumber == 2) {
|
||||
basic.showString("YES")
|
||||
} else if (randomNumber == 1) {
|
||||
basic.showString("NO")
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
If **randomNumber** is not 2 or 1, it must be 0. This is the else condition. If **randomNumber** is 0, display the string 'I don't know'
|
||||
|
||||
```blocks
|
||||
basic.showString("ASK A QUESTION")
|
||||
basic.showNumber(8)
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
basic.clearScreen()
|
||||
let randomNumber = Math.random(2)
|
||||
if (randomNumber == 2) {
|
||||
basic.showString("YES")
|
||||
} else if (randomNumber == 1) {
|
||||
basic.showString("NO")
|
||||
} else {
|
||||
basic.showString("I DON'T KNOW")
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
```
|
||||
|
||||
|
||||
Display the number 8 so users know they can ask the magic 8 ball another question!
|
||||
|
||||
|
||||
```blocks
|
||||
basic.showString("ASK A QUESTION")
|
||||
basic.showNumber(8)
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
basic.clearScreen()
|
||||
let randomNumber = Math.random(2)
|
||||
if (randomNumber == 2) {
|
||||
basic.showString("YES")
|
||||
} else if (randomNumber == 1) {
|
||||
basic.showString("NO")
|
||||
} else {
|
||||
basic.showString("I DON'T KNOW")
|
||||
|
||||
}
|
||||
basic.showNumber(8)
|
||||
|
||||
})
|
||||
```
|
||||
|
||||
### ~avatar avatar
|
||||
|
||||
Excellent, you're ready to continue with the [challenges](/microbit/lessons/magic-8/challenges)!
|
||||
|
||||
### ~
|
||||
|
105
docs/lessons/magic-8/challenges.md
Normal file
105
docs/lessons/magic-8/challenges.md
Normal file
@ -0,0 +1,105 @@
|
||||
# magic 8 challenges
|
||||
|
||||
Coding challenges for the magic 8 tutorial
|
||||
|
||||
## Before we get started
|
||||
|
||||
Complete the following [guided tutorial](/microbit/lessons/magic-8/activity), and your code should look like this:
|
||||
|
||||
```blocks
|
||||
basic.showString("ASK A QUESTION")
|
||||
basic.showNumber(8)
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
basic.clearScreen()
|
||||
let randomNumber = Math.random(2)
|
||||
if (randomNumber == 2) {
|
||||
basic.showString("YES")
|
||||
} else if (randomNumber == 1) {
|
||||
basic.showString("NO")
|
||||
} else {
|
||||
basic.showString("I DON'T KNOW")
|
||||
|
||||
}
|
||||
basic.showNumber(8)
|
||||
|
||||
})
|
||||
```
|
||||
|
||||
|
||||
**Challenge 1**
|
||||
|
||||
Now let's increase the number of responses the magic 8 ball can give. How about 5 responses instead? Let's change the limit of `pick random` to 4.
|
||||
|
||||
```blocks
|
||||
basic.showString("ASK A QUESTION")
|
||||
basic.showNumber(8)
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
basic.clearScreen()
|
||||
let randomNumber = Math.random(4)
|
||||
if (randomNumber == 2) {
|
||||
basic.showString("YES")
|
||||
} else if (randomNumber == 1) {
|
||||
basic.showString("NO")
|
||||
} else {
|
||||
basic.showString("I DON'T KNOW")
|
||||
|
||||
}
|
||||
basic.showNumber(8)
|
||||
|
||||
})
|
||||
```
|
||||
|
||||
**Challenge 2**
|
||||
|
||||
Now have the magic 8 ball respond "Try again" if **randomNumber** is 3.
|
||||
|
||||
|
||||
```blocks
|
||||
basic.showString("ASK A QUESTION")
|
||||
basic.showNumber(8)
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
basic.clearScreen()
|
||||
let randomNumber = Math.random(4)
|
||||
if (randomNumber == 3) {
|
||||
basic.showString("TRY AGAIN")
|
||||
} else if (randomNumber == 2) {
|
||||
basic.showString("YES")
|
||||
} else if (randomNumber == 1) {
|
||||
basic.showString("NO")
|
||||
} else {
|
||||
basic.showString("I DON'T KNOW")
|
||||
}
|
||||
basic.showNumber(8)
|
||||
})
|
||||
```
|
||||
|
||||
**Challenge 3**
|
||||
|
||||
Now what about if **randomNumber** is 4? Let's have the magic 8 ball respond "Definitely!".
|
||||
|
||||
```blocks
|
||||
basic.showString("ASK A QUESTION")
|
||||
basic.showNumber(8)
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
basic.clearScreen()
|
||||
let randomNumber = Math.random(4)
|
||||
if (randomNumber == 4) {
|
||||
basic.showString("DEFINATELY")
|
||||
} else if (randomNumber == 3) {
|
||||
basic.showString("TRY AGAIN")
|
||||
} else if (randomNumber == 2) {
|
||||
basic.showString("YES")
|
||||
} else if (randomNumber == 1) {
|
||||
basic.showString("NO")
|
||||
}
|
||||
else {
|
||||
basic.showString("I DON'T KNOW")
|
||||
}
|
||||
basic.showNumber(8)
|
||||
})
|
||||
```
|
||||
|
||||
**Challenge 4**
|
||||
|
||||
Add 3 more responses so your magic 8 ball has 8 possible responses. Be creative!
|
||||
|
Reference in New Issue
Block a user