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

作为学习、练习与尝试,这里创建一个迷宫的小游戏。
打开网页版:https://arcade.makecode.com/,设置项目名称:迷宫游戏
MicroPython实验代码
def on_on_overlap(sprite, otherSprite):
music.play(music.melody_playable(music.power_up),
music.PlaybackMode.UNTIL_DONE)
effects.confetti.start_screen_effect(1000)
pause(1000)
game.show_long_text("恭喜走出迷宫!", DialogLayout.CENTER)
sprites.on_overlap(SpriteKind.player, SpriteKind.projectile, on_on_overlap)
game.splash("迷宫游戏", "路人甲")
tiles.set_current_tilemap(tilemap("""
级别1
"""))
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)
tiles.place_on_tile(mySprite, tiles.get_tile_location(1, 30))
controller.move_sprite(mySprite)
mySprite.set_stay_in_screen(True)
scene.camera_follow_sprite(mySprite)
mySprite2 = sprites.create(img("""
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . f 2 2 2 2 2 2 2 2 . . .
. . . . f 2 2 2 2 2 2 2 2 . . .
. . . . f 2 2 2 2 2 2 2 2 . . .
. . . . f 2 2 2 2 2 2 2 2 . . .
. . . . f 2 2 2 2 2 2 2 2 . . .
. . . . f 2 2 2 2 2 2 2 2 . . .
. . . . f 2 2 2 2 2 2 2 2 . . .
. . . . f . . . . . . . . . . .
. . . . f . . . . . . . . . . .
. . . . f . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
"""),
SpriteKind.projectile)
tiles.place_on_tile(mySprite2, tiles.get_tile_location(15, 14))
info.start_countdown(30)
这段 Arcade MakeCode 的迷宫游戏代码是一个完整的小游戏框架,代码解读与说明如下:
1、游戏目标
玩家控制角色在迷宫中移动,30秒内找到目标(projectile 精灵),触发胜利事件。
2、游戏初始化
python
game.splash("迷宫游戏", "路人甲")
显示游戏标题和作者名。
python
tiles.set_current_tilemap(tilemap("""级别1"""))
设置当前地图为“级别1”,地图需在编辑器中预先定义。
3、玩家角色设置
python
mySprite = sprites.create(img("""..."""), SpriteKind.player)
tiles.place_on_tile(mySprite, tiles.get_tile_location(1, 30))
controller.move_sprite(mySprite)
mySprite.set_stay_in_screen(True)
scene.camera_follow_sprite(mySprite)
创建玩家角色并赋予图像。
将角色放置在地图的起始位置 (1, 30)。
启用控制器移动角色。
限制角色不离开屏幕。
摄像机跟随角色移动。
4、目标精灵设置
python
mySprite2 = sprites.create(img("""..."""), SpriteKind.projectile)
tiles.place_on_tile(mySprite2, tiles.get_tile_location(15, 14))
创建目标精灵(可理解为迷宫出口或奖励点)。
放置在地图中的某个位置 (15, 14)。
5、倒计时机制
python
info.start_countdown(30)
游戏开始后启动30秒倒计时,增加紧迫感。
6、胜利事件处理
python
def on_on_overlap(sprite, otherSprite):
music.play(music.melody_playable(music.power_up), music.PlaybackMode.UNTIL_DONE)
effects.confetti.start_screen_effect(1000)
pause(1000)
game.show_long_text("恭喜走出迷宫!", DialogLayout.CENTER)
sprites.on_overlap(SpriteKind.player, SpriteKind.projectile, on_on_overlap)
当玩家角色与目标精灵重叠时触发:
播放胜利音乐。
屏幕出现彩带特效。
暂停1秒。
显示“恭喜走出迷宫!”的提示框。
图形编程参考实验程序

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

实验场景记录



评论