積木程式:
Python程式:
# 0:介紹、1測驗
def RightWrong(num: number, ans: str):
global Number2, mode
if answer[num] == ans:
mp3Player.set_tracking(18, mp3Player.repeatList.NO)
basic.show_icon(IconNames.YES)
else:
mp3Player.set_tracking(19, mp3Player.repeatList.NO)
basic.show_icon(IconNames.NO)
basic.pause(5000)
Number2 = (Number2 + 1) % 20
if Number2 == 15:
mp3Player.set_tracking(20, mp3Player.repeatList.NO)
mode = 0
basic.show_leds("""
. . # # #
. . . # #
. . . . #
# # . . .
# # . . .
""")
else:
mp3Player.set_tracking(Number2 + 6, mp3Player.repeatList.NO)
basic.pause(2000)
basic.show_icon(IconNames.SQUARE)
def doLight():
if Run == 0 or Run == 5:
pins.digital_write_pin(DigitalPin.P2, 1)
pins.digital_write_pin(DigitalPin.P9, 0)
pins.digital_write_pin(DigitalPin.P13, 0)
pins.digital_write_pin(DigitalPin.P14, 0)
pins.digital_write_pin(DigitalPin.P15, 0)
elif Run == 1 or Run == 6:
pins.digital_write_pin(DigitalPin.P2, 0)
pins.digital_write_pin(DigitalPin.P9, 1)
pins.digital_write_pin(DigitalPin.P13, 0)
pins.digital_write_pin(DigitalPin.P14, 0)
pins.digital_write_pin(DigitalPin.P15, 0)
elif Run == 2 or Run == 7:
pins.digital_write_pin(DigitalPin.P2, 0)
pins.digital_write_pin(DigitalPin.P9, 0)
pins.digital_write_pin(DigitalPin.P13, 1)
pins.digital_write_pin(DigitalPin.P14, 0)
pins.digital_write_pin(DigitalPin.P15, 0)
elif Run == 3 or Run == 8:
pins.digital_write_pin(DigitalPin.P2, 0)
pins.digital_write_pin(DigitalPin.P9, 0)
pins.digital_write_pin(DigitalPin.P13, 0)
pins.digital_write_pin(DigitalPin.P14, 1)
pins.digital_write_pin(DigitalPin.P15, 0)
elif Run == 4 or Run == 9:
pins.digital_write_pin(DigitalPin.P2, 0)
pins.digital_write_pin(DigitalPin.P9, 0)
pins.digital_write_pin(DigitalPin.P13, 0)
pins.digital_write_pin(DigitalPin.P14, 0)
pins.digital_write_pin(DigitalPin.P15, 1)
LED_status = 0
count = 0
oldRun = 0
Run = 0
mode = 0
Number2 = 0
answer: List[str] = []
basic.show_leds("""
# # . . .
# # . . .
. # # . .
. # # # #
. . # # #
""")
basic.pause(500)
mp3Player.mp3_set_serial(SerialPin.P1)
mp3Player.set_volume(25)
mp3Player.set_tracking(20, mp3Player.repeatList.NO)
PlanetX_AILens.init_module()
PlanetX_AILens.switchfunc(PlanetX_AILens.FuncList.CARD)
basic.show_leds("""
. . # # #
. . . # #
. . . . #
# # . . .
# # . . .
""")
pins.digital_write_pin(DigitalPin.P2, 0)
pins.digital_write_pin(DigitalPin.P9, 0)
pins.digital_write_pin(DigitalPin.P13, 0)
pins.digital_write_pin(DigitalPin.P14, 0)
pins.digital_write_pin(DigitalPin.P15, 0)
answer = ["B", "C", "C", "B", "D", "C", "B", "B", "C", "C"]
def on_every_interval():
global LED_status, count, oldRun
cardMode = 0
if cardMode == 0:
if oldRun == Run:
if count > 10:
if LED_status == 0:
LED_status = 1
pins.digital_write_pin(DigitalPin.P2, 1)
pins.digital_write_pin(DigitalPin.P9, 1)
pins.digital_write_pin(DigitalPin.P13, 1)
pins.digital_write_pin(DigitalPin.P14, 1)
pins.digital_write_pin(DigitalPin.P15, 1)
else:
LED_status = 0
pins.digital_write_pin(DigitalPin.P2, 0)
pins.digital_write_pin(DigitalPin.P9, 0)
pins.digital_write_pin(DigitalPin.P13, 0)
pins.digital_write_pin(DigitalPin.P14, 0)
pins.digital_write_pin(DigitalPin.P15, 0)
else:
count = count + 1
else:
oldRun = Run
count = 0
loops.every_interval(500, on_every_interval)
def on_forever():
global Run, mode, Number2
PlanetX_AILens.camera_image()
if mode == 0 and PlanetX_AILens.number_card(PlanetX_AILens.numberCards.ONE):
Run = 0
mp3Player.set_tracking(1, mp3Player.repeatList.NO)
elif mode == 0 and PlanetX_AILens.number_card(PlanetX_AILens.numberCards.TWO):
Run = 1
mp3Player.set_tracking(2, mp3Player.repeatList.NO)
elif mode == 0 and PlanetX_AILens.number_card(PlanetX_AILens.numberCards.THREE):
Run = 2
mp3Player.set_tracking(3, mp3Player.repeatList.NO)
elif mode == 0 and PlanetX_AILens.number_card(PlanetX_AILens.numberCards.FOUR):
Run = 3
mp3Player.set_tracking(4, mp3Player.repeatList.NO)
elif mode == 0 and PlanetX_AILens.number_card(PlanetX_AILens.numberCards.FIVE):
Run = 4
mp3Player.set_tracking(5, mp3Player.repeatList.NO)
elif mode == 0 and PlanetX_AILens.number_card(PlanetX_AILens.numberCards.SIX):
mp3Player.set_tracking(16, mp3Player.repeatList.NO)
mode = 1
Number2 = 0
basic.pause(5000)
basic.show_icon(IconNames.SQUARE)
mp3Player.set_tracking(Number2 + 6, mp3Player.repeatList.NO)
elif mode == 1 and PlanetX_AILens.letter_card(PlanetX_AILens.letterCards.A):
mp3Player.set_tracking(Number2 + 6, mp3Player.repeatList.NO)
RightWrong(Number2, "A")
elif mode == 1 and PlanetX_AILens.letter_card(PlanetX_AILens.letterCards.B):
mp3Player.set_tracking(Number2 + 6, mp3Player.repeatList.NO)
RightWrong(Number2, "B")
elif mode == 1 and PlanetX_AILens.letter_card(PlanetX_AILens.letterCards.C):
mp3Player.set_tracking(Number2 + 6, mp3Player.repeatList.NO)
RightWrong(Number2, "C")
elif mode == 1 and PlanetX_AILens.letter_card(PlanetX_AILens.letterCards.D):
mp3Player.set_tracking(Number2 + 6, mp3Player.repeatList.NO)
RightWrong(Number2, "D")
elif mode == 1 and PlanetX_AILens.letter_card(PlanetX_AILens.letterCards.E):
mp3Player.set_tracking(20, mp3Player.repeatList.NO)
mode = 0
basic.show_leds("""
. . # # #
. . . # #
. . . . #
# # . . .
# # . . .
""")
basic.pause(2500)
basic.forever(on_forever)