19浏览
查看: 19|回复: 7

[项目] 【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏

[复制链接]
本帖最后由 驴友花雕 于 2025-8-30 14:33 编辑

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

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

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

【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏图3

【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏图2

【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏图1

驴友花雕  中级技神
 楼主|

发表于 6 小时前

【花雕动手做】基于Kitronik可编程开发板的三叶草小游戏

主要特征:
Kitronik ARCADE 是一款功能丰富的手持游戏手柄开发板,可与 Microsoft Arcade 编辑器一起使用。
编写您自己的游戏来玩或从 MakeCode Arcade 网站免费下载游戏。
使用丰富的教育材料从头开始创建游戏,或调整现有代码并学习开源方式。
它配备了全彩液晶广视角屏幕。
它有一个用于音频反馈的压电发声器。
利用振动电机进行触觉反馈。
它还具有;6 个玩家输入按钮、一个菜单按钮、一个重置按钮和一个开/关开关。
还有一个软件音量控制、一个 USB 编程端口和 2 个扩展端口,供专家级用户使用。
ARCADE 可以由 3xAA 电池或微型 USB 连接器供电。

【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 6 小时前

【花雕动手做】基于Kitronik可编程开发板的三叶草小游戏

Kitronik ARCADE 是一款专为与 MakeCode Arcade 编辑器一起使用而设计的掌上游戏平台,既可以编写自己的游戏并在 ARCADE 上运行它们,也可以下载现有游戏并享受功能齐全的掌上游戏体验。(网页版:https://arcade.makecode.com/

Kitronik ARCADE 使用 Microsoft MakeCode 平台,具有以下优势:
图形化编程界面:适合初学者,支持拖拽式编程。
即时模拟器:可以实时测试游戏效果。
硬件兼容性:可部署到 Kitronik ARCADE 设备,实现实体游戏体验。
支持 Python/JavaScript:便于进阶学习。

【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 4 小时前

【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏

作为学习与尝试,这里创建一个花园游戏来收集四叶草并避开蜜蜂!
打开网页版:https://arcade.makecode.com/,设置项目名称:四叶草

MicroPython实验代码

  1. def on_on_overlap(sprite, otherSprite):
  2.     otherSprite.destroy(effects.disintegrate, 100)
  3.     music.magic_wand.play()
  4.     info.change_life_by(-1)
  5. sprites.on_overlap(SpriteKind.player, SpriteKind.projectile, on_on_overlap)
  6. def on_on_overlap2(sprite2, otherSprite2):
  7.     otherSprite2.destroy(effects.confetti, 100)
  8.     music.ba_ding.play()
  9.     info.change_score_by(1)
  10. sprites.on_overlap(SpriteKind.player, SpriteKind.enemy, on_on_overlap2)
  11. bee: Sprite = None
  12. clover: Sprite = None
  13. scene.set_background_image(assets.image("""
  14.     background
  15.     """))
  16. hero = sprites.create(assets.image("""
  17.     hero
  18.     """), SpriteKind.player)
  19. controller.move_sprite(hero)
  20. hero.set_stay_in_screen(True)
  21. def on_update_interval():
  22.     global clover, bee
  23.     clover = sprites.create_projectile_from_side(img("""
  24.             . . . b b b . . . b b . . . . .
  25.             . . b 5 7 b . . b 5 b b . . . .
  26.             . b b 7 7 b . . b 7 7 b b . . .
  27.             b b 7 7 7 b b b b 7 7 7 7 b . .
  28.             b 7 6 6 7 7 b b 7 7 6 6 7 b . .
  29.             . b b b 6 7 7 7 7 6 b b b . . .
  30.             . . . . b b 7 7 b b . . . . . .
  31.             b b b b 7 7 7 7 7 7 b b b b . .
  32.             b 5 7 7 7 6 b b 6 7 7 7 5 b . .
  33.             b 7 7 7 6 b b 6 b 6 7 7 7 b . .
  34.             b b 7 7 b . b 6 b b 6 7 b b . .
  35.             . b b 6 b . b 6 . b b 6 b . . .
  36.             . . b b . . b b 6 . b b . . . .
  37.             . . . . . . . b 7 6 . . . . . .
  38.             . . . . . . . b b b . . . . . .
  39.             . . . . . . . . . . . . . . . .
  40.             """),
  41.         randint(-50, 50),
  42.         randint(-50, 50))
  43.     bee = sprites.create_projectile_from_side(img("""
  44.             . . . . 1 9 1 9 1 1 9 1 9 . . .
  45.             . . . . 1 . 9 . 9 . 9 . 9 . . .
  46.             . . . . . 9 . 1 . 9 . 1 9 . . .
  47.             . . . . . . 9 9 9 9 9 9 . . . .
  48.             . . f f . . 5 5 f 5 4 f . . . .
  49.             . f f f f 4 5 f 5 5 f 5 4 . . .
  50.             f d f f f 5 5 f 5 5 f 5 5 f . .
  51.             f f f f f 5 5 f 5 5 f 5 5 f f f
  52.             f d f f f 5 5 f 5 5 f 5 5 f . .
  53.             . f f f f 4 5 f 5 5 f 5 4 . . .
  54.             . . f f . . 5 5 f 5 4 f . . . .
  55.             . . . . . . 9 9 9 9 9 9 . . . .
  56.             . . . . . 9 . 1 . 9 . 1 9 . . .
  57.             . . . . 1 . 9 . 9 . 9 . 9 . . .
  58.             . . . . 1 9 1 9 1 1 9 1 9 . . .
  59.             . . . . . . . . . . . . . . . .
  60.             """),
  61.         randint(-50, 50),
  62.         randint(-50, 50))
  63.     clover.set_kind(SpriteKind.enemy)
  64.     bee.set_kind(SpriteKind.projectile)
  65. game.on_update_interval(5000, on_update_interval)
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 4 小时前

【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏

本帖最后由 驴友花雕 于 2025-8-30 15:46 编辑

图形编程的几个模块

(1)设置背景、精灵、摇柄控制和精灵范围限制

【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏图1

(2)5秒更新,设置弹射物四叶草和小蜜蜂的随机位置范围

【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏图2

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 4 小时前

【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏

(3)设置精灵与四叶草碰撞时,礼炮特效,播放音效,得分+1

【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏图1

(4)设置精灵与小蜜蜂碰撞时,解体特效,播放音效,生命值-1

【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏图2
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 4 小时前

【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏

(5)四叶草小游戏的完整程序

【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 4 小时前

【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏

(5)通过模拟器,调试与模拟运行

【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏图1

(6)实验场景记录

【花雕动手做】基于Kitronik可编程开发板的四叶草小游戏图2

实验视频记录

【【花雕动手做】Kitronik 可编程开发板基于 ARCADE MakeCode 的四叶草小游戏】

https://www.bilibili.com/video/BV1xmhezTEtn/?share_source=copy_web&vd_source=371a292a55e5ca9be994cbb4a86cc987




回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail