15浏览
查看: 15|回复: 5

[项目] 【花雕动手做】基于 Kitronik 可编程开发板之樱桃采摘

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

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

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

【花雕动手做】基于 Kitronik 可编程开发板之樱桃采摘图1

【花雕动手做】基于 Kitronik 可编程开发板之樱桃采摘图2

【花雕动手做】基于 Kitronik 可编程开发板之樱桃采摘图3

驴友花雕  中级技神
 楼主|

发表于 3 小时前

【花雕动手做】基于 Kitronik 可编程开发板之樱桃采摘

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

MicroPython实验参考代码

  1. def on_on_overlap(sprite, otherSprite):
  2.     info.change_score_by(1)
  3.     otherSprite.destroy()
  4. sprites.on_overlap(SpriteKind.player, SpriteKind.food, on_on_overlap)
  5. cherry: Sprite = None
  6. game.splash("樱桃采摘")
  7. tiles.set_current_tilemap(tilemap("""
  8.     级别4
  9.     """))
  10. mySprite = sprites.create(sprites.castle.princess_front0, SpriteKind.player)
  11. controller.move_sprite(mySprite, 150, 150)
  12. mySprite.set_stay_in_screen(True)
  13. scene.camera_follow_sprite(mySprite)
  14. info.start_countdown(60)
  15. info.set_score(0)
  16. def on_update_interval():
  17.     global cherry
  18.     cherry = sprites.create(sprites.food.small_cherries, SpriteKind.food)
  19.     cherry.set_position(randint(0, 250), randint(0, 250))
  20. game.on_update_interval(500, on_update_interval)
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 3 小时前

【花雕动手做】基于 Kitronik 可编程开发板之樱桃采摘

这段代码是用 MakeCode Arcade 编写的一个名为 “樱桃采摘” 的小游戏核心逻辑。玩家控制公主在地图中移动,采摘不断生成的樱桃,在限定时间内尽可能获得高分。解读如下:

一、游戏机制概览

【花雕动手做】基于 Kitronik 可编程开发板之樱桃采摘图1

二、代码逐段解析
1、 碰撞事件:采摘樱桃
python
  1. def on_on_overlap(sprite, otherSprite):
  2.     info.change_score_by(1)
  3.     otherSprite.destroy()
  4. sprites.on_overlap(SpriteKind.player, SpriteKind.food, on_on_overlap)
复制代码


当玩家角色与樱桃发生重叠时:

得分 +1

樱桃被销毁,避免重复得分

2、游戏初始化与地图加载
python
  1. game.splash("樱桃采摘")
  2. tiles.set_current_tilemap(tilemap("""级别4"""))
复制代码


显示欢迎界面:“樱桃采摘”

加载名为 级别4 的 tilemap 地图,地图需在编辑器中预先设计

3、创建玩家角色(公主)
python
  1. mySprite = sprites.create(sprites.castle.princess_front0, SpriteKind.player)
  2. controller.move_sprite(mySprite, 150, 150)
  3. mySprite.set_stay_in_screen(True)
  4. scene.camera_follow_sprite(mySprite)
复制代码


使用预设图像创建公主精灵

设置移动速度为 150(X 和 Y 方向)

限制角色在屏幕内活动

摄像机跟随角色移动,适用于大地图场景

4、设置游戏信息
python
  1. info.start_countdown(60)
  2. info.set_score(0)
复制代码


启动 60 秒倒计时

初始化分数为 0

5、定时生成樱桃
python
  1. def on_update_interval():
  2.     global cherry
  3.     cherry = sprites.create(sprites.food.small_cherries, SpriteKind.food)
  4.     cherry.set_position(randint(0, 250), randint(0, 250))
  5. game.on_update_interval(500, on_update_interval)
复制代码


每隔 500 毫秒生成一个樱桃精灵

樱桃位置在 (0, 250) 范围内随机分布

樱桃类型为 SpriteKind.food,便于与玩家角色进行碰撞检测



回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 3 小时前

【花雕动手做】基于 Kitronik 可编程开发板之樱桃采摘

图形编程参考实验程序

【花雕动手做】基于 Kitronik 可编程开发板之樱桃采摘图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 3 小时前

【花雕动手做】基于 Kitronik 可编程开发板之樱桃采摘

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

【花雕动手做】基于 Kitronik 可编程开发板之樱桃采摘图1

【花雕动手做】基于 Kitronik 可编程开发板之樱桃采摘图2

实验场景记录

【花雕动手做】基于 Kitronik 可编程开发板之樱桃采摘图3

【花雕动手做】基于 Kitronik 可编程开发板之樱桃采摘图4



108 (2).jpg
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 3 小时前

【花雕动手做】基于 Kitronik 可编程开发板之樱桃采摘

【花雕动手做】基于 Kitronik 可编程开发板之樱桃采摘图1
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail