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



作为学习、练习与尝试,这里创建一个通关樱桃的小游戏。
打开网页版:https://arcade.makecode.com/,设置项目名称:通关樱桃
MicroPython实验参考代码
def on_on_overlap(sprite, otherSprite):
global count, level
count += 1
info.change_score_by(1)
otherSprite.destroy()
otherSprite.start_effect(effects.smiles, 200)
if count > 10 + level:
level += 1
music.jump_up.play()
startLevel()
else:
music.ba_ding.play()
sprites.on_overlap(SpriteKind.player, SpriteKind.food, on_on_overlap)
def startLevel():
global count, food
scene.set_background_color(randint(3, 7))
count = 0
index = 0
while index <= 10 + level:
food = sprites.create(sprites.food.small_cherries, SpriteKind.food)
food.set_position(randint(20, 140), randint(20, 100))
index += 1
player2.say("Level " + str(level), 1000)
info.start_countdown(10)
food: Sprite = None
count = 0
player2: Sprite = None
level = 0
game.splash("Hurry!", "通关樱桃!")
level = 1
player2 = sprites.create(sprites.castle.princess_front0, SpriteKind.player)
controller.move_sprite(player2, 70, 70)
startLevel()
这段代码是一个用 MakeCode Arcade 编写的 “通关樱桃”游戏 的核心逻辑。玩家控制角色在限定时间内收集樱桃,达到一定数量后进入下一关。每一关难度逐渐提升,游戏节奏紧凑,适合锻炼反应力与目标感。下面是从专业角度对代码的详细解读:

代码逐段解析
1、玩家碰到樱桃(触发收集逻辑)
python
def on_on_overlap(sprite, otherSprite):
global count, level
count += 1 # 收集数量+1
info.change_score_by(1) # 得分+1
otherSprite.destroy() # 销毁樱桃
otherSprite.start_effect(effects.smiles, 200) # 显示笑脸特效
2、判断是否通关
python
if count > 10 + level:
level += 1 # 进入下一关
music.jump_up.play() # 播放通关音效
startLevel() # 重置关卡
else:
music.ba_ding.play() # 播放收集音效
3、初始化或进入新关卡
python
def startLevel():
global count, food
scene.set_background_color(randint(3, 7)) # 随机背景色
count = 0 # 重置收集计数
index = 0
4、生成樱桃
python
while index <= 10 + level:
food = sprites.create(sprites.food.small_cherries, SpriteKind.food)
food.set_position(randint(20, 140), randint(20, 100)) # 随机位置
index += 1
5、显示关卡提示 + 倒计时
python
player2.say("Level " + str(level), 1000) # 显示当前关卡
info.start_countdown(10) # 每关限时10秒
6、游戏初始化
python
food: Sprite = None
count = 0
player2: Sprite = None
level = 0
game.splash("Hurry!", "通关樱桃!") # 开始提示
level = 1
player2 = sprites.create(sprites.castle.princess_front0, SpriteKind.player) # 创建玩家角色
controller.move_sprite(player2, 70, 70) # 启用移动控制
startLevel() # 启动第一关
7、游戏特点总结
逐关挑战:每关需要收集的樱桃数量为 10 + 当前关卡数,难度逐渐提升。
时间限制:每关限时 10 秒,增加紧迫感。
视觉反馈:收集樱桃时有笑脸特效,通关时有音效提示。
动态背景:每关背景颜色随机变化,增强视觉体验。
图形编程参考实验程序
通过模拟器,调试与模拟运行

实验场景记录
评论