9浏览
查看: 9|回复: 3

[项目] 【花雕动手做】基于Kitronik可编程开发板之迷宫游戏

[复制链接]
【花雕动手做】基于Kitronik可编程开发板之迷宫游戏图1

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

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

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


【花雕动手做】基于Kitronik可编程开发板之迷宫游戏图2

驴友花雕  中级技神
 楼主|

发表于 1 小时前

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

作为学习、练习与尝试,这里创建一个迷宫的小游戏。
打开网页版:https://arcade.makecode.com/,设置项目名称:迷宫游戏

MicroPython实验代码

  1. def on_on_overlap(sprite, otherSprite):
  2.     music.play(music.melody_playable(music.power_up),
  3.         music.PlaybackMode.UNTIL_DONE)
  4.     effects.confetti.start_screen_effect(1000)
  5.     pause(1000)
  6.     game.show_long_text("恭喜走出迷宫!", DialogLayout.CENTER)
  7. sprites.on_overlap(SpriteKind.player, SpriteKind.projectile, on_on_overlap)
  8. game.splash("迷宫游戏", "路人甲")
  9. tiles.set_current_tilemap(tilemap("""
  10.     级别1
  11.     """))
  12. mySprite = sprites.create(img("""
  13.         . . . . . . 5 . 5 . . . . . . .
  14.         . . . . . f 5 5 5 f f . . . . .
  15.         . . . . f 1 5 2 5 1 6 f . . . .
  16.         . . . f 1 6 6 6 6 6 1 6 f . . .
  17.         . . . f 6 6 f f f f 6 1 f . . .
  18.         . . . f 6 f f d d f f 6 f . . .
  19.         . . f 6 f d f d d f d f 6 f . .
  20.         . . f 6 f d 3 d d 3 d f 6 f . .
  21.         . . f 6 6 f d d d d f 6 6 f . .
  22.         . f 6 6 f 3 f f f f 3 f 6 6 f .
  23.         . . f f d 3 5 3 3 5 3 d f f . .
  24.         . . f d d f 3 5 5 3 f d d f . .
  25.         . . . f f 3 3 3 3 3 3 f f . . .
  26.         . . . f 3 3 5 3 3 5 3 3 f . . .
  27.         . . . f f f f f f f f f f . . .
  28.         . . . . . f f . . f f . . . . .
  29.         """),
  30.     SpriteKind.player)
  31. tiles.place_on_tile(mySprite, tiles.get_tile_location(1, 30))
  32. controller.move_sprite(mySprite)
  33. mySprite.set_stay_in_screen(True)
  34. scene.camera_follow_sprite(mySprite)
  35. mySprite2 = sprites.create(img("""
  36.         . . . . . . . . . . . . . . . .
  37.         . . . . . . . . . . . . . . . .
  38.         . . . . . . . . . . . . . . . .
  39.         . . . . f 2 2 2 2 2 2 2 2 . . .
  40.         . . . . f 2 2 2 2 2 2 2 2 . . .
  41.         . . . . f 2 2 2 2 2 2 2 2 . . .
  42.         . . . . f 2 2 2 2 2 2 2 2 . . .
  43.         . . . . f 2 2 2 2 2 2 2 2 . . .
  44.         . . . . f 2 2 2 2 2 2 2 2 . . .
  45.         . . . . f 2 2 2 2 2 2 2 2 . . .
  46.         . . . . f . . . . . . . . . . .
  47.         . . . . f . . . . . . . . . . .
  48.         . . . . f . . . . . . . . . . .
  49.         . . . . . . . . . . . . . . . .
  50.         . . . . . . . . . . . . . . . .
  51.         . . . . . . . . . . . . . . . .
  52.         """),
  53.     SpriteKind.projectile)
  54. tiles.place_on_tile(mySprite2, tiles.get_tile_location(15, 14))
  55. info.start_countdown(30)
复制代码



回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 1 小时前

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

这段 Arcade MakeCode 的迷宫游戏代码是一个完整的小游戏框架,代码解读与说明如下:

1、游戏目标
玩家控制角色在迷宫中移动,30秒内找到目标(projectile 精灵),触发胜利事件。

2、游戏初始化
python
  1. game.splash("迷宫游戏", "路人甲")
复制代码

显示游戏标题和作者名。

python
  1. tiles.set_current_tilemap(tilemap("""级别1"""))
复制代码

设置当前地图为“级别1”,地图需在编辑器中预先定义。

3、玩家角色设置
python
  1. mySprite = sprites.create(img("""..."""), SpriteKind.player)
  2. tiles.place_on_tile(mySprite, tiles.get_tile_location(1, 30))
  3. controller.move_sprite(mySprite)
  4. mySprite.set_stay_in_screen(True)
  5. scene.camera_follow_sprite(mySprite)
复制代码

创建玩家角色并赋予图像。
将角色放置在地图的起始位置 (1, 30)。
启用控制器移动角色。
限制角色不离开屏幕。
摄像机跟随角色移动。

4、目标精灵设置
python
  1. mySprite2 = sprites.create(img("""..."""), SpriteKind.projectile)
  2. tiles.place_on_tile(mySprite2, tiles.get_tile_location(15, 14))
复制代码

创建目标精灵(可理解为迷宫出口或奖励点)。
放置在地图中的某个位置 (15, 14)。

5、倒计时机制
python
  1. info.start_countdown(30)
复制代码

游戏开始后启动30秒倒计时,增加紧迫感。

6、胜利事件处理
python
  1. def on_on_overlap(sprite, otherSprite):
  2.     music.play(music.melody_playable(music.power_up), music.PlaybackMode.UNTIL_DONE)
  3.     effects.confetti.start_screen_effect(1000)
  4.     pause(1000)
  5.     game.show_long_text("恭喜走出迷宫!", DialogLayout.CENTER)
  6. sprites.on_overlap(SpriteKind.player, SpriteKind.projectile, on_on_overlap)
复制代码

当玩家角色与目标精灵重叠时触发:
播放胜利音乐。
屏幕出现彩带特效。
暂停1秒。
显示“恭喜走出迷宫!”的提示框。

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 1 小时前

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

图形编程参考实验程序

【花雕动手做】基于Kitronik可编程开发板之迷宫游戏图1

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

【花雕动手做】基于Kitronik可编程开发板之迷宫游戏图5

实验场景记录

【花雕动手做】基于Kitronik可编程开发板之迷宫游戏图2

【花雕动手做】基于Kitronik可编程开发板之迷宫游戏图4

【花雕动手做】基于Kitronik可编程开发板之迷宫游戏图3

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail