moving out outdated js docs
This commit is contained in:
129
olddocs/js/lessons/digital-pet/challenges.md
Normal file
129
olddocs/js/lessons/digital-pet/challenges.md
Normal file
@ -0,0 +1,129 @@
|
||||
# digital pet challenges
|
||||
|
||||
Coding challenges for the digital pet tutorial.
|
||||
|
||||
## Before we get started
|
||||
|
||||
Complete the following guided tutorial:
|
||||
|
||||
* [tutorial](/lessons/digital-pet/tutorial)
|
||||
|
||||
At the end of the tutorial, click `keep editing`. Your code should look like this:
|
||||
|
||||
```
|
||||
basic.forever(() => {
|
||||
if (input.buttonIsPressed("A")) {
|
||||
setSleep()
|
||||
basic.pause(5000)
|
||||
} else {
|
||||
setAwake()
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
### Challenge 1
|
||||
|
||||
Now let's feed the pet! Add an **ELSE IF** statement that checks if button `B` is pressed. Click on the **ELSE** and type **IF** next to it to get the **ELSE IF**.
|
||||
|
||||
```
|
||||
basic.forever(() => {
|
||||
if (input.buttonIsPressed("A")) {
|
||||
setSleep()
|
||||
basic.pause(5000)
|
||||
} else if (input.buttonIsPressed("B")) {
|
||||
|
||||
}
|
||||
else {
|
||||
setAwake()
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
### Challenge 2
|
||||
|
||||
### @video td/videos/digital-pet-2
|
||||
|
||||
Now we want to show your eating pet! Let's create a function called `set eat` that will do create an image. Store that image in a variable and then show it.
|
||||
|
||||
```
|
||||
export function setEat() {
|
||||
let img = images.createImage(`
|
||||
. # . # .
|
||||
. . # . .
|
||||
. . # . .
|
||||
. # . # .
|
||||
. . # . .
|
||||
`)
|
||||
img.showImage(0)
|
||||
}
|
||||
```
|
||||
|
||||
Once you create the function `set eat`, call it in the **ELSE IF** statement that checks if button `B` is pressed.
|
||||
|
||||
```
|
||||
basic.forever(() => {
|
||||
if (input.buttonIsPressed("A")) {
|
||||
setSleep()
|
||||
basic.pause(5000)
|
||||
} else if (input.buttonIsPressed("B")) {
|
||||
setEat()
|
||||
}
|
||||
else {
|
||||
setAwake()
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
### Challenge 3
|
||||
|
||||
### @video td/videos/digital-pet-3
|
||||
|
||||
Have your pet tell you when it is going to sleep! Do this inside of the **IF** statement that checks if button `A` is pressed before you call the function `set sleep`.
|
||||
|
||||
```
|
||||
basic.forever(() => {
|
||||
if (input.buttonIsPressed("A")) {
|
||||
basic.showString("I am going to sleep.", 150) // ***
|
||||
setSleep()
|
||||
basic.pause(5000)
|
||||
} else if (input.buttonIsPressed("B")) {
|
||||
setEat()
|
||||
}
|
||||
else {
|
||||
setAwake()
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
### Challenge 4
|
||||
|
||||
### @video td/videos/digital-pet-4
|
||||
|
||||
Now, how about we keep track of how many times our pet eats? Add a global variable called `feed` that keeps track of how many times you feed your pet. If button `B` is pressed, increment `feed` by one. Add a condition `on shake` to check your total.
|
||||
|
||||
```
|
||||
feed = 0 // ***
|
||||
basic.forever(() => {
|
||||
if (input.buttonIsPressed("A")) {
|
||||
basic.showString("I am going to sleep.", 150)
|
||||
setSleep()
|
||||
basic.pause(5000)
|
||||
} else if (input.buttonIsPressed("B")) {
|
||||
feed = feed + 1 // ***
|
||||
setEat()
|
||||
}
|
||||
else {
|
||||
setAwake()
|
||||
}
|
||||
})
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
basic.showNumber(feed, 150) // ***
|
||||
}) // ***
|
||||
```
|
||||
|
||||
### Challenge 5
|
||||
|
||||
Program your pet to say that it is hungry after 60 seconds.
|
||||
|
||||
**Hint**: use `input->running time`
|
||||
|
Reference in New Issue
Block a user