Thursday, February 3, 2022

Microbit: Flappy Bird game

 


Code

JavaScript

input.onButtonPressed(Button.Afunction () {
    bird.change(LedSpriteProperty.Y, -1)
})
input.onButtonPressed(Button.Bfunction () {
    bird.change(LedSpriteProperty.Y1)
})
let emptyObstacleY = 0
let ticks = 0
let bird: game.LedSprite = null
let index = 0
let obstacles: game.LedSprite[] = []
bird = game.createSprite(02)
bird.set(LedSpriteProperty.Blink300)
basic.forever(function () {
    while (obstacles.length > 0 && obstacles[0].get(LedSpriteProperty.X) == 0) {
        obstacles.removeAt(0).delete()
    }
    for (let obstacle2 of obstacles) {
        obstacle2.change(LedSpriteProperty.X, -1)
    }
    if (ticks % 3 == 0) {
        emptyObstacleY = randint(04)
        for (let index2 = 0; index2 <= 4; index2++) {
            if (index2 != emptyObstacleY) {
                obstacles.push(game.createSprite(4, index2))
            }
        }
    }
    for (let obstacle3 of obstacles) {
        if (obstacle3.get(LedSpriteProperty.X) == bird.get(LedSpriteProperty.X) && obstacle3.get(LedSpriteProperty.Y) == bird.get(LedSpriteProperty.Y)) {
            game.gameOver()
        }
    }
    ticks += 1
    basic.pause(1000)
})

Blocks

0empty array02create sprite atx:y:bird300setblinktosetbirdtosetobstaclestosetindextoon startbird-1changeybyon buttonApressedbird1changeybyon buttonBpressedobstacleslength of array0‏>obstacles0get value atx0=andobstacles0get and remove value atdeleteobstacle2obstaclesobstacle2-1changexbyticks3remainder of÷0=04pick randomtoindex24index2emptyObstacleYobstacles4index2create sprite atx:y:add valueto endifthenforfrom 0 todosetemptyObstacleYtoobstacle3obstaclesobstacle3xbirdx=obstacle3ybirdy=andgame overifthen11000pause (ms)changeticksbyfor elementofdoifthenfor elementofdowhiledoforever

Extensions

  • radio, *
  • microphone, *

1 comment:

  1. input.onButtonPressed(Button.A, function () {
    bird.change(LedSpriteProperty.Y, -1)
    })
    input.onButtonPressed(Button.B, function () {
    bird.change(LedSpriteProperty.Y, 1)
    })
    let emptyObstacleY = 0
    let ticks = 0
    let bird: game.LedSprite = null
    let index = 0
    let obstacles: game.LedSprite[] = []
    bird = game.createSprite(0, 2)
    bird.set(LedSpriteProperty.Blink, 300)
    basic.forever(function () {
    while (obstacles.length > 0 && obstacles[0].get(LedSpriteProperty.X) == 0) {
    obstacles.removeAt(0).delete()
    }
    for (let obstacle2 of obstacles) {
    obstacle2.change(LedSpriteProperty.X, -1)
    }
    if (ticks % 3 == 0) {
    emptyObstacleY = randint(0, 4)
    for (let index2 = 0; index2 <= 4; index2++) {
    if (index2 != emptyObstacleY) {
    obstacles.push(game.createSprite(4, index2))
    }
    }
    }
    for (let obstacle3 of obstacles) {
    if (obstacle3.get(LedSpriteProperty.X) == bird.get(LedSpriteProperty.X) && obstacle3.get(LedSpriteProperty.Y) == bird.get(LedSpriteProperty.Y)) {
    game.gameOver()
    }
    }
    ticks += 1
    basic.pause(1000)
    })


    this is a one with levels and coins

    ReplyDelete