99 lines
1.9 KiB
Markdown
99 lines
1.9 KiB
Markdown
|
# truth or dare activity
|
||
|
|
||
|
A multi-player game that forces each player to reveal a secret or something funny.
|
||
|
|
||
|
### ~avatar avatar
|
||
|
|
||
|
### @video td/videos/truth-or-dare-0
|
||
|
|
||
|
Welcome! This tutorial will teach how to program a game of truth or dare on the micro:bit. Let's get started!
|
||
|
|
||
|
### ~
|
||
|
|
||
|
Begin by using Show LEDs to create an "up-arrow" image, which will point to someone.
|
||
|
|
||
|
```blocks
|
||
|
basic.showLeds(`
|
||
|
. . # . .
|
||
|
. # # # .
|
||
|
# # # # #
|
||
|
. . # . .
|
||
|
. . # . .
|
||
|
`)
|
||
|
|
||
|
```
|
||
|
|
||
|
Now let's create a condition to know when button `A` is pressed so that we can display "truth" or "dare" on the micro:bit. We want the BBC micro:bit to randomly choose whether to display "truth" or display "dare". We can use accomplish this by using `pick random (1)`.
|
||
|
|
||
|
```blocks
|
||
|
basic.showLeds(`
|
||
|
. . # . .
|
||
|
. # # # .
|
||
|
# # # # #
|
||
|
. . # . .
|
||
|
. . # . .
|
||
|
`)
|
||
|
input.onButtonPressed(Button.A, () => {
|
||
|
let random = Math.random(2)
|
||
|
})
|
||
|
```
|
||
|
|
||
|
Now let's display the appropriate message for each scenario of `random`.
|
||
|
|
||
|
```blocks
|
||
|
basic.showLeds(`
|
||
|
. . # . .
|
||
|
. # # # .
|
||
|
# # # # #
|
||
|
. . # . .
|
||
|
. . # . .
|
||
|
`)
|
||
|
input.onButtonPressed(Button.A, () => {
|
||
|
let random = Math.random(2)
|
||
|
if (random == 0) {
|
||
|
basic.showString("TRUTH")
|
||
|
} else {
|
||
|
basic.showString("DARE")
|
||
|
}
|
||
|
})
|
||
|
```
|
||
|
|
||
|
|
||
|
|
||
|
Notice how the arrow didn't display again after pressing button `A`. Let's add a line of code that displays the arrow again.
|
||
|
|
||
|
```blocks
|
||
|
basic.showLeds(`
|
||
|
. . # . .
|
||
|
. # # # .
|
||
|
# # # # #
|
||
|
. . # . .
|
||
|
. . # . .
|
||
|
`)
|
||
|
input.onButtonPressed(Button.A, () => {
|
||
|
let random = Math.random(2)
|
||
|
if (random == 0) {
|
||
|
basic.showString("TRUTH")
|
||
|
} else {
|
||
|
basic.showString("DARE")
|
||
|
}
|
||
|
basic.showLeds(`
|
||
|
. . # . .
|
||
|
. # # # .
|
||
|
# # # # #
|
||
|
. . # . .
|
||
|
. . # . .
|
||
|
`)
|
||
|
})
|
||
|
|
||
|
```
|
||
|
|
||
|
* Run your program: Press button A!
|
||
|
|
||
|
### ~avatar avatar
|
||
|
|
||
|
Excellent, you're ready to continue with the [challenges](/microbit/lessons/truth-or-dare/challenges)!
|
||
|
|
||
|
### ~
|
||
|
|