pxt-calliope/docs/lessons/truth-or-dare/activity.md

99 lines
1.9 KiB
Markdown
Raw Normal View History

2016-03-26 00:47:20 +01:00
# truth or dare activity
A multi-player game that forces each player to reveal a secret or something funny.
### ~avatar avatar
2016-05-27 00:24:10 +02:00
2016-03-26 00:47:20 +01:00
2016-11-02 01:44:37 +01:00
Welcome! This tutorial will teach how to program a game of truth or dare on the @boardname@. Let's get started!
2016-03-26 00:47:20 +01:00
### ~
Begin by using Show LEDs to create an "up-arrow" image, which will point to someone.
```blocks
basic.showLeds(`
. . # . .
. # # # .
# # # # #
. . # . .
. . # . .
`)
```
2016-11-02 01:44:37 +01:00
Now let's create a condition to know when button `A` is pressed so that we can display "truth" or "dare" on the @boardname@. We want the @boardname@ to randomly choose whether to display "truth" or display "dare". We can use accomplish this by using `pick random (1)`.
2016-03-26 00:47:20 +01:00
```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
2016-04-13 17:27:45 +02:00
Excellent, you're ready to continue with the [challenges](/lessons/truth-or-dare/challenges)!
2016-03-26 00:47:20 +01:00
### ~