Kitronik ARCADE 是一款由英国教育科技公司 Kitronik 精心打造的可编程游戏机开发板,专为编程教学与创客实践而设计。该设备原生支持微软的 MakeCode Arcade 平台,用户可通过图形化或 JavaScript 编程方式,轻松创建、下载并运行复古风格的街机游戏。
它集成了彩色 LCD 显示屏、方向控制键、功能按键、蜂鸣器和震动马达等交互组件,提供完整的游戏输入输出体验。无论是初学者进行编程启蒙,还是创客群体开发交互式作品,Kitronik ARCADE 都能作为理想的硬件载体,助力创意实现。
凭借其开源友好、易于上手、兼容性强等特点,该开发板广泛应用于中小学编程课程、创客工作坊、游戏开发教学以及个人项目原型设计,深受教育者与技术爱好者的喜爱。




作为学习、练习与尝试,这里创建一个游戏信息的小游戏。
打开网页版:https://arcade.makecode.com/,设置项目名称:游戏信息
MicroPython实验参考代码
def on_a_pressed():
info.change_score_by(1)
controller.A.on_event(ControllerButtonEvent.PRESSED, on_a_pressed)
def on_b_pressed():
info.change_life_by(-1)
controller.B.on_event(ControllerButtonEvent.PRESSED, on_b_pressed)
mySprite = sprites.create(img("""
...........................cccccccccc..........................
.........................ccc11111111ccc........................
........................cc111111111111cc.......................
.......................cc11111111111111cc......................
......................cc1111111111111111cc.....................
......................c111111111111111111c.....................
.....................cc111111111111111111cc....................
.....................cc1111111111111111111c....................
.....................c11111111111111111111c....................
....................cc11111111111111111111cc...................
....................cc11111111111111111111cc...................
....................cc111111111111111111111c...................
....................cc111111111111111111111c...................
....................cc111111111111111111111c...................
....................cc111111111111bcccc1111c...................
....................cc11111111111111ccc1111c...................
.....................c11bcccc1111111cc11111c...................
.....................cb111ccc1111111111111cc...................
.....................cb111cc11111111111111cc...................
.....................cb1111111111111b111ccccc..................
....................ccbb111111111111b11cc111cc.................
..................ccc11bb11111b1111b111c11111cc................
................cccdd111bb11111bbbb111b1111111ccccc............
...............cc111d1111bbb11111111bb1111bb111cc1cc...........
..............cc1111dd11111bbbbbbbbbbb1111bb111b111cc..........
..............c111111d11111111d11111bbb111bb11bb1111cc.........
.............cc111111d11111111dd1111bb1b111b11b111111c.........
............cc111114441111111111ddddb11bbbb111b111111c.........
...........cc11111145411111111111111b11111111bb111111cc........
..........cc111111145411111111111111bb1111111bb1111111c........
.........ccdd111111454111111111111111bb1111111bb111111cc.......
........cc111d1111145441111111111111111b1111111bb111111c.......
.......cc11111d111d45541111111111111111bb1111111bb11111c.......
.......c111111dd1ddd45411111111111111111bb1111111bbddd1cc......
......cc1111bbbbbddd454111111111111111111bb11111111bddd1c......
......cc11bbb111bbbd4541111111111111111111bb11111111111dcc.....
......cc11bb111bbbbc4541111111111111111111dbc11111111111cc.....
......cc11b111bb111bc5411111111111111111111dcc11111111111c.....
bbbbbbcc111111b11111bc4cc111111111111111111ddcc1111111111c.....
dddddddcc1111b111111bb11ccbbbbbbbb111111111dddcc11111111cc.....
ddddddddcc111b1111111bb11cdddddddbbbbbbbbbbbbbccc111111cc......
ddddddddddcccb11111111bbccbbddddddddddddddddddddccc111ccbbbbbbb
ddddddddddddccc11111111bc111bbbddddddddddddddddddccccccdddddddd
dddddddddddddccc1111111cc111111bbbddddddddddddddddddddddddddddd
ddddddddddddbb11cc1111cc111111111bddddddddddddddddddddddddddddd
ddddddddddbb11111cccccc111111111bdddddddddddddddddddddddddddddd
ddddddddddb11111111111111111111bddddddddddddddddddddddddddddddd
ddddddddddbb111111111111111111bdddddddddddddddddddddddddddddddd
ddddddddddddbb111111111111111bddddddddddddddddddddddddddddddddd
ddddddddddddddbb111111111111bdddddddddddddddddddddddddddddddddd
ddddddddddddddddbb111111111bddddddddddddddddddddddddddddddddddd
ddddddddddddddddddbb111111bdddddddddddddddddddddddddddddddddddd
ddddddddddddddddddddbb111bddddddddddddddddddddddddddddddddddddd
ddddddddddddddddddddddbbbdddddddddddddddddddddddddddddddddddddd
ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
"""),
SpriteKind.player)
controller.move_sprite(mySprite)
mySprite.set_stay_in_screen(True)
info.set_score(0)
info.set_life(5)
info.start_countdown(10)
代码逐段解析
1、 按下 A 键:增加分数
python
def on_a_pressed():
info.change_score_by(1)
controller.A.on_event(ControllerButtonEvent.PRESSED, on_a_pressed)
当玩家按下 A 键时,调用 info.change_score_by(1),分数增加 1。
可用于模拟收集物品、击败敌人等得分行为。
2、按下 B 键:减少生命
python
def on_b_pressed():
info.change_life_by(-1)
controller.B.on_event(ControllerButtonEvent.PRESSED, on_b_pressed)
当玩家按下 B 键时,生命值减少 1。
可用于模拟受到伤害、失败事件等。
3、创建玩家角色
python
mySprite = sprites.create(img("""..."""), SpriteKind.player)
创建一个玩家精灵,图像为一个大型像素图(可能是飞船、怪兽或其他角色)。
使用 SpriteKind.player 类型,便于后续事件绑定。
4、启用移动控制
python
controller.move_sprite(mySprite)
启用控制器对角色的移动控制(默认使用方向键或摇杆)。
5、限制角色在屏幕内
python
mySprite.set_stay_in_screen(True)
防止角色移出屏幕边界,保持在可见范围内。
6、初始化游戏信息
python
info.set_score(0)
info.set_life(5)
info.start_countdown(10)
设置初始分数为 0。
设置初始生命值为 5。
启动一个 10 秒倒计时,适用于限时挑战或关卡控制。
图形编程参考实验程序

通过模拟器,调试与模拟运行

实验场景记录
评论