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



作为学习、练习与尝试,这里创建一个发射火球的小游戏。
打开网页版:https://arcade.makecode.com/,设置项目名称:发射火球
MicroPython实验参考代码
projectile: Sprite = None
scene.set_background_color(9)
mySprite = sprites.create(img("""
. . . . . . 5 . 5 . . . . . . .
. . . . . f 5 5 5 f f . . . . .
. . . . f 1 5 2 5 1 6 f . . . .
. . . f 1 6 6 6 6 6 1 6 f . . .
. . . f 6 6 f f f f 6 1 f . . .
. . . f 6 f f d d f f 6 f . . .
. . f 6 f d f d d f d f 6 f . .
. . f 6 f d 3 d d 3 d f 6 f . .
. . f 6 6 f d d d d f 6 6 f . .
. f 6 6 f 3 f f f f 3 f 6 6 f .
. . f f d 3 5 3 3 5 3 d f f . .
. . f d d f 3 5 5 3 f d d f . .
. . . f f 3 3 3 3 3 3 f f . . .
. . . f 3 3 5 3 3 5 3 3 f . . .
. . . f f f f f f f f f f . . .
. . . . . f f . . f f . . . . .
"""),
SpriteKind.player)
def on_update_interval():
global projectile
projectile = sprites.create_projectile_from_sprite(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . 4 4 4 4 4 . . . . . .
. . . 4 4 4 5 5 5 d 4 4 4 4 . .
. . 4 d 5 d 5 5 5 d d d 4 4 . .
. . 4 5 5 1 1 1 d d 5 5 5 4 . .
. 4 5 5 5 1 1 1 5 1 1 5 5 4 4 .
. 4 d d 1 1 5 5 5 1 1 5 5 d 4 .
. 4 5 5 1 1 5 1 1 5 5 d d d 4 .
. 2 5 5 5 d 1 1 1 5 1 1 5 5 2 .
. 2 d 5 5 d 1 1 1 5 1 1 5 5 2 .
. . 2 4 d d 5 5 5 5 d d 5 4 . .
. . . 2 2 4 d 5 5 d d 4 4 . . .
. . 2 2 2 2 2 4 4 4 2 2 2 . . .
. . . 2 2 4 4 4 4 4 4 2 2 . . .
. . . . . 2 2 2 2 2 2 . . . . .
"""),
mySprite,
randint(-145, 145),
randint(-100, 100))
projectile.lifespan = 2000
if projectile.vx < 0:
projectile.image.flip_x()
game.on_update_interval(500, on_update_interval)
代码解读
这段代码是一个用 MakeCode Arcade 编写的发射火球小游戏片段,核心玩法是:玩家角色每隔 0.5 秒自动发射一个“子弹”,子弹方向和速度随机,存在时间为 2 秒。下面是逐行解读,带你快速掌握它的逻辑和设计思路:
1、玩家角色初始化
python
mySprite = sprites.create(img("""..."""), SpriteKind.player)
创建一个玩家角色,使用的是一个自定义像素图像(看起来像是一个机器人或角色头像)。
类型为 SpriteKind.player,表示这是玩家控制的对象。
python
scene.set_background_color(9)
设置背景颜色为编号 9(通常是蓝绿色调),营造视觉氛围。
2、自动发射火球逻辑
python
def on_update_interval():
global projectile
projectile = sprites.create_projectile_from_sprite(img("""..."""), mySprite, randint(-145, 145), randint(-100, 100))
每隔 500 毫秒(0.5 秒)执行一次:
从玩家角色 mySprite 发射一个子弹。
子弹图像是一个自定义像素图(看起来像是飞船或导弹)。
子弹的速度是随机的:
水平速度 vx 在 -145 到 145 之间
垂直速度 vy 在 -100 到 100 之间
这意味着子弹可能向任意方向飞行,制造混乱或弹幕效果。
3、火球生命周期与图像翻转
python
projectile.lifespan = 2000
if projectile.vx < 0:
projectile.image.flip_x()
子弹存在时间为 2000 毫秒(2 秒),之后自动销毁。
如果子弹向左飞(vx < 0),则将图像水平翻转,使其朝向飞行方向。
图形编程参考实验程序

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

实验场景记录



评论