Extending the user interface to avoid the X after a winner is crowned. (#5995)

* Extending the user interface to avoid the X after a winner is crowned.

* some small edits

---------

Co-authored-by: Galen Nickel <gnickel@aquent.com>
This commit is contained in:
Simon Skotheimsvik 2024-11-05 21:59:20 +01:00 коммит произвёл GitHub
Родитель f203ba4fef
Коммит 5641d51697
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
1 изменённых файлов: 88 добавлений и 0 удалений

Просмотреть файл

@ -306,3 +306,91 @@ input.onPinPressed(TouchPin.P2, function () {
} }
}) })
``` ```
## Extending the Extension
One effect of the extension is the **X** for a false start shows for the person loosing the game. We can extend the code some more to avoid the **X** showing up on the person loosing the game. The following example uses a new variable to flag the winner and avoid the **X** after a winner is crowned.
```blocks
input.onPinPressed(TouchPin.P0, function () {
running = false
false_start = false
Winner = 0
basic.showNumber(3)
basic.showNumber(2)
basic.showNumber(1)
basic.clearScreen()
basic.pause(1000 + randint(0, 2000))
if (!(false_start)) {
start = input.runningTime()
running = true
led.stopAnimation()
basic.clearScreen()
led.plotBrightness(randint(0, 4), randint(0, 4), 255)
}
})
input.onPinPressed(TouchPin.P2, function () {
if (running) {
running = false
end = input.runningTime()
Winner = 2
basic.showLeds(`
. . . # #
. . . # #
. . . # #
. . . # #
. . . # #
`)
basic.pause(1000)
basic.showNumber(end - start)
} else if (Winner == 1) {
} else {
false_start = true
basic.showLeds(`
. . . . .
. . # . #
. . . # .
. . # . #
. . . . .
`)
}
})
input.onPinPressed(TouchPin.P1, function () {
if (running) {
running = false
end = input.runningTime()
Winner = 1
basic.showLeds(`
# # . . .
# # . . .
# # . . .
# # . . .
# # . . .
`)
basic.pause(1000)
basic.showNumber(end - start)
} else if (Winner == 2) {
} else {
false_start = true
basic.showLeds(`
. . . . .
# . # . .
. # . . .
# . # . .
. . . . .
`)
}
})
let Winner = 0
let start = 0
let end = 0
let false_start = false
let running = false
running = false
false_start = false
end = 0
start = 0
Winner = 0
```