回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【花雕动手做】Kitronik 可编程游戏开发板基于 ARCADE MakeCode之迷宫游戏 简单

头像 驴友花雕 2025.09.22 5 0

00 (4).jpg

Kitronik ARCADE 是一款由英国教育科技公司 Kitronik 精心打造的可编程游戏机开发板,专为编程教学与创客实践而设计。该设备原生支持微软的 MakeCode Arcade 平台,用户可通过图形化或 JavaScript 编程方式,轻松创建、下载并运行复古风格的街机游戏。

它集成了彩色 LCD 显示屏、方向控制键、功能按键、蜂鸣器和震动马达等交互组件,提供完整的游戏输入输出体验。无论是初学者进行编程启蒙,还是创客群体开发交互式作品,Kitronik ARCADE 都能作为理想的硬件载体,助力创意实现。

凭借其开源友好、易于上手、兼容性强等特点,该开发板广泛应用于中小学编程课程、创客工作坊、游戏开发教学以及个人项目原型设计,深受教育者与技术爱好者的喜爱。

 

00 (2).jpg

作为学习、练习与尝试,这里创建一个迷宫的小游戏。
打开网页版: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秒。
显示“恭喜走出迷宫!”的提示框。

图形编程参考实验程序

 

151.jpg


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

 

00215.gif


实验场景记录

 

152 (1).jpg
152 (2).jpg
152 (3).jpg

评论

user-avatar
icon 他的勋章
    展开更多