CategoriesUncategorized

Micro:Bit Week 2, Day 4

Extension Link

https://github.com/jhlucky/maqueen

Code

radio.onReceivedNumber(function (receivedNumber) {

    if (radio.receivedPacket(RadioPacketProperty.SignalStrength) > -47) {

        health = health - 1

    }

})

input.onButtonPressed(Button.A, function () {

    basic.showNumber(health)

})

input.onButtonPressed(Button.AB, function () {

    health = 5

})

let health = 0

radio.setGroup(1)

health = 10

basic.forever(function () {

    if (health > 5) {

        basic.showIcon(IconNames.Heart)

    } else if (health > 0) {

        basic.showIcon(IconNames.Sad)

        radio.sendNumber(1)

        basic.pause(1000)

    } else {

        basic.showIcon(IconNames.Ghost)

        maqueen.motorStopAll()

    }

    if (maqueen.sensor(PingUnit.Centimeters) < 30 && health > 0) {

        if (Math.randomBoolean()) {

            maqueen.MotorRun(maqueen.aMotors.M1, maqueen.Dir.CCW, 125)

maqueen.MotorRun(maqueen.aMotors.M2, maqueen.Dir.CW, 125)

        } else {

            maqueen.MotorRun(maqueen.aMotors.M1, maqueen.Dir.CW, 125)

maqueen.MotorRun(maqueen.aMotors.M2, maqueen.Dir.CCW, 125)

        }

        basic.pause(250)

    } else if (health > 0) {

        maqueen.MotorRun(maqueen.aMotors.M1, maqueen.Dir.CW, health * 25)

maqueen.MotorRun(maqueen.aMotors.M2, maqueen.Dir.CW, health * 25)

    }

})
CategoriesUncategorized

Micro:Bit Week 2, Day 2

radio.onReceivedNumber(function (receivedNumber) {
    if (receivedNumber == 0) {
        if (maqueen.sensor(PingUnit.Centimeters) < 30) {
            if (Math.randomBoolean()) {
                maqueen.MotorRun(maqueen.aMotors.M1, maqueen.Dir.CW, 127)
maqueen.MotorRun(maqueen.aMotors.M2, maqueen.Dir.CCW, 127)
            } else {
                maqueen.MotorRun(maqueen.aMotors.M1, maqueen.Dir.CCW, 127)
maqueen.MotorRun(maqueen.aMotors.M2, maqueen.Dir.CW, 127)
            }
            basic.pause(500)
        } else {
            maqueen.MotorRun(maqueen.aMotors.M1, maqueen.Dir.CW, 255)
maqueen.MotorRun(maqueen.aMotors.M2, maqueen.Dir.CW, 255)
        }
        basic.showArrow(ArrowNames.North)
    } else if (receivedNumber == 1) {
        maqueen.MotorRun(maqueen.aMotors.M1, maqueen.Dir.CW, 127)
maqueen.MotorRun(maqueen.aMotors.M2, maqueen.Dir.CCW, 127)
basic.showArrow(ArrowNames.East)
    } else if (receivedNumber == 3) {
        maqueen.MotorRun(maqueen.aMotors.M1, maqueen.Dir.CCW, 127)
maqueen.MotorRun(maqueen.aMotors.M2, maqueen.Dir.CW, 127)
basic.showArrow(ArrowNames.West)
    } else if (receivedNumber == 2) {
        maqueen.MotorRun(maqueen.aMotors.M1, maqueen.Dir.CCW, 255)
maqueen.MotorRun(maqueen.aMotors.M2, maqueen.Dir.CCW, 255)
basic.showArrow(ArrowNames.South)
    } else if (receivedNumber == 4) {
        maqueen.motorStopAll()
        basic.clearScreen()
    }
})
radio.setGroup(1)
basic.forever(function () {
    
})
CategoriesUncategorized

Micro:Bit Week 2, Day 1

Add Extension in MakeCode

https://github.com/jhlucky/maqueen

Receiver

radio.onReceivedNumber(function (receivedNumber) {
    if (receivedNumber == 0) {
        maqueen.MotorRun(maqueen.aMotors.M1, maqueen.Dir.CW, 255)
        maqueen.MotorRun(maqueen.aMotors.M2, maqueen.Dir.CW, 255)
        basic.showArrow(ArrowNames.North)
    } else if (receivedNumber == 1) {
        maqueen.MotorRun(maqueen.aMotors.M1, maqueen.Dir.CW, 127)
        maqueen.MotorRun(maqueen.aMotors.M2, maqueen.Dir.CCW, 127)
        basic.showArrow(ArrowNames.East)
    } else if (receivedNumber == 3) {
        maqueen.MotorRun(maqueen.aMotors.M1, maqueen.Dir.CCW, 127)
        maqueen.MotorRun(maqueen.aMotors.M2, maqueen.Dir.CW, 127)
        basic.showArrow(ArrowNames.West)
    } else if (receivedNumber == 2) {
        maqueen.MotorRun(maqueen.aMotors.M1, maqueen.Dir.CCW, 255)
        maqueen.MotorRun(maqueen.aMotors.M2, maqueen.Dir.CCW, 255)
        basic.showArrow(ArrowNames.South)
    } else if (receivedNumber == 4) {
        maqueen.motorStopAll()
        basic.clearScreen()
    }
})
radio.setGroup(1)
basic.forever(function () {
	
})

Sender

input.onGesture(Gesture.Shake, function () {
	
})
radio.setGroup(1)
basic.forever(function () {
    if (input.isGesture(Gesture.LogoDown)) {
        radio.sendNumber(0)
        basic.showArrow(ArrowNames.North)
    } else if (input.isGesture(Gesture.TiltRight)) {
        radio.sendNumber(1)
        basic.showArrow(ArrowNames.East)
    } else if (input.isGesture(Gesture.LogoUp)) {
        radio.sendNumber(2)
        basic.showArrow(ArrowNames.South)
    } else if (input.isGesture(Gesture.TiltLeft)) {
        radio.sendNumber(3)
        basic.showArrow(ArrowNames.West)
    } else {
        radio.sendNumber(4)
        basic.clearScreen()
    }
})