pxt-calliope/olddocs/js/game-library.md

3.0 KiB

Game Library

The game library supports simple single-player time-based games. The player has a number of lives and a score. The game has a number of levels and a countdown clock. The general goal of a game will be to achieve a top score before time runs out or the number of lives goes to zero.

Touch Develop

The code below shows a simple game where the user gets to press the button A as much times as possible in 10 seconds.

input.onButtonPressed(Button.A, () => {
    game.addScore(1)
})
game.startCountdown(10000)

Countdown

If your game has a time limit, you can start a countdown in which case game->current time returns the remaining time.

  • start a countdown with the maximum duration of the game in milliseconds.
export function startCountdown(ms: number)

Game over

If the life reaches zero or the time expires (see countdown), the game enters the game over mode. When the game is over, game->is running returns false

  • check if the game still running.
export function isRunning() : boolean

Indicates if the game is display the game over sequence.

export function isGameOver() : boolean

You can also end the game by calling the game -> game over function:

export function gameOver()

Score

When a player achieves a goal, you can increase the game score

Add Point to Score

  • add score points to the current score
export function addScore(points: number)

Score

  • set the current score to a particular value.
export function setScore(value: number)
  • get the current score value
export function score() : number

Life

Manage the player lives. When the life count reaches 0 or less, the game is over.

  • remove one or more lives
export function removeLife(life: number)
  • add lives
export function addLife(lives: number)
  • set the life to a particular value
export function setLife(value: number)
  • get the current life value
export function life() : number

Levels

When the game increases in difficulty, you can increase the level and use that value in your game logic.

  • increase the level by 1
export function levelUp()
  • get the current level
export function level() : number

Time

The game immediately starts tracking the time from the moment the device started.

  • get the current time
export function currentTime() : number

You can start the time again by using game->start stopwatch.

  • start the game timer
game.startStopwatch()

Reports the blink duration of a sprite .

export function blink(_this: micro_bitSprites.LedSprite) : number

Sets the blink duration interval in milliseconds .

export function setBlink(sprite: micro_bitSprites.LedSprite, ms: number)

Lessons

bop it | game of chance | game counter