Level 4PXT: Flappy bird

Skrevet av: Julie Christina Revdahl

Kurs: Microbit
Tema: Blokkbasert, Spill, Elektronikk
Fag: Programmering, Matematikk
Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole

Introduksjon

I denne opggaven skal vi lage en versjon av det populære spillet flappy bird, slik at vi kan spille det på micro:biten vår.

Steg 1: Starte spillet

checkSjekkliste

basic.showString("GO")
basic.pause(500)
bird = game.createSprite(1, 2)
let gameover = false
basic.pause(300)

Steg 2: Få fuglen til å fly

checkSjekkliste

let bird: game.LedSprite = null
input.onButtonPressed(Button.A, function () {
    bird.change(LedSpriteProperty.Y, -1)
    basic.pause(200)
})

Steg 3: Få fuglen til å falle

checkSjekkliste

basic.forever(function () {
    if (input.buttonIsPressed(Button.A)) {

    } else {
        let bird: game.LedSprite = null
        bird.change(LedSpriteProperty.Y, 1)
    }
    basic.pause(400)
})

Steg 4: Sjekke om fuglen flyr for høyt eller faller for lavt

checkSjekkliste

basic.forever(function () {
    if (gameover == false) {
        let bird: game.LedSprite = null
        if (bird.isTouchingEdge()) {
            start = input.runningTime()
            while (bird.isTouchingEdge()) {
                slutt = input.runningTime()
                if (slutt - start >= 1000) {
                    gameover = true
                    basic.showNumber(game.score())
                    game.gameOver()
                }
            }
        }
    }
})

Steg 5: Lage et hinder som forflytter seg over skjermen

checkSjekkliste

basic.forever(function () {
    if (gameover == false) {
        basic.pause(1000)
        let bird: game.LedSprite = null
        let hinder: game.LedSprite = null
        hinder = game.createSprite(4, Math.randomRange(0, 4))
        for (let indeks = 0; indeks <= 4; indeks++) {
            hinder.change(LedSpriteProperty.X, -1)
            basic.pause(200)
            if (bird.isTouching(hinder)) {
                gameover = true
                basic.showNumber(game.score())
                basic.pause(1000)
                game.gameOver()
            }
        }
        if (hinder.get(LedSpriteProperty.X) == 0){
        game.addScore(1)
        hinder.delete()
        }
    }
})

flagTest prosjektet

Det er to måter du kan teste spillet ditt på:

Utfordring

Lisens: CC BY-SA 4.0

Forbedre denne siden

Funnet en feil? Kunne noe vært bedre?
Hvis ja, vennligst gi oss tilbakemelding ved å lage en sak på Github eller fiks feilen selv om du kan. Vi er takknemlige for enhver tilbakemelding!