2019-8-20 20:31:17 [显示全部楼层]
870浏览
查看: 870|回复: 0

mircobit乒乓球

[复制链接]
function board() {
    for (let i = xb; i < (xb + yb); i++) {
        led.plot(i, 4)
    }
}
function left() {
    xb += 0 - 1
    basic.clearScreen()
    board()
    ball()
}
function right() {
    xb += 1
    basic.clearScreen()
    board()
    ball()
}
function ball() {
    led.plot(x, y)
}
function topside() {
    ydir = 1
    if (x == 0) {
        xdir = Math.random(2)
    } else if (x == 4) {
        xdir = Math.random(2) - 1
    } else {
        xdir = Math.random(3) - 1
    }
}
function leftside() {
    xdir = 1
}
function rightside() {
    xdir = -1
}
function corners() {
    xdir = 0 - xdir
    ydir = 0 - ydir
}
function checkhit() {
    if (xb - 1 < x && xb + yb > x) {
        scor += 1
        ydir = -1
        if (x == 0) {
            xdir = Math.random(2)
        } else if (x == 4) {
            xdir = Math.random(2) - 1
        } else {
            xdir = Math.random(3) - 1
        }
        if (scor > 1 && scor < 4) {
            yb += 0 - 1
        }
        if (scor > 5 && scor < 12) {
            time += 0 - 150
        }
    }
}
function moveball() {
    x += xdir
    y += ydir
    basic.clearScreen()
    ball()
    board()
    if (y == 0 && (x == 0 || x == 4)) {
        corners()
    } else if (x == 0 && y > 0 && y < 3) {
        leftside()
    } else if (x == 4 && y > 0 && y < 3) {
        rightside()
    } else if (y == 0) {
        topside()
    } else if (y == 3) {
        checkhit()
    } else if (y == 4) {
        gam = false
        basic.clearScreen()
        basic.pause(1000)
        basic.showNumber(scor)
        basic.pause(1000)
        basic.clearScreen()
        if (scor < 12) {
            basic.showIcon(IconNames.Sad)
        } else {
            basic.showIcon(IconNames.Happy)
        }
    }
}
input.onButtonPressed(Button.B, () => {
    right()
})
input.onButtonPressed(Button.A, () => {
    left()
})
basic.forever(() => {
    while (gam == true) {
        basic.pause(time)
        moveball()
    }
})
let x: number
x = 0
let y: number
y = 0
let xb: number
xb = 0
let yb: number
yb = 0
let xdir: number
xdir = 0
let ydir: number
ydir = 0
let scor: number
scor = 0
let gam: boolean
gam = true
let time: number
time = 1000
xb = 0
yb = 4
board()
x = 2
y = 0
ball()
xdir = 0
ydir = 1



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
关于楼主

楼主的其它帖子

上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail