10浏览
查看: 10|回复: 4

[项目] 【花雕动手做】基于Kitronik可编程开发板之飞舞的心

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

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

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

【花雕动手做】基于Kitronik可编程开发板之飞舞的心图3

【花雕动手做】基于Kitronik可编程开发板之飞舞的心图1

【花雕动手做】基于Kitronik可编程开发板之飞舞的心图2

驴友花雕  中级技神
 楼主|

发表于 6 小时前

【花雕动手做】基于Kitronik可编程开发板之飞舞的心

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

MicroPython实验参考代码

  1. # When your Player (grey heart) overlaps with a Cupid (red heart), the Cupid disappears and your Player heart grows
  2. def on_on_overlap(sprite, otherSprite):
  3.     valentine.set_win_lose_size(120, 6)
  4.     otherSprite.destroy()
  5.     scaling.scale_by_pixels(sprite, 15, ScaleDirection.UNIFORMLY, ScaleAnchor.MIDDLE)
  6. sprites.on_overlap(SpriteKind.player, SpriteKind.valentine, on_on_overlap)
  7. # Every 1.8 seconds a red heart appears on the screen shooting this number of arrows
  8. def on_update_interval():
  9.     valentine.set_win_lose_size(120, 6)
  10.     valentine.check_win_or_lose()
  11.     valentine.send_valentine(assets.image("""
  12.             cupid hearts
  13.             """),
  14.         3,
  15.         assets.image("""
  16.             arrow
  17.             """))
  18. game.on_update_interval(1800, on_update_interval)
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 6 小时前

【花雕动手做】基于Kitronik可编程开发板之飞舞的心

代码解读

这段代码是一个用 MakeCode Arcade 编写的情人节主题小游戏,玩法轻松又富有创意。玩家控制一个灰色的心形角色,通过与红色心形丘比特碰撞来“成长”,并在规定条件下赢得游戏。下面是详细解读:

1、游戏机制概览
玩家是一个灰色的心形角色。

每隔 1.8 秒,屏幕上会出现一个红色丘比特心,并发射箭矢。

玩家与丘比特心碰撞后,丘比特消失,玩家心形变大。

游戏胜负由 valentine.set_win_lose_size(120, 6) 控制:玩家心形达到指定大小即可胜利。

2、碰撞事件处理
python
  1. def on_on_overlap(sprite, otherSprite):
  2.     valentine.set_win_lose_size(120, 6)
  3.     otherSprite.destroy()
  4.     scaling.scale_by_pixels(sprite, 15, ScaleDirection.UNIFORMLY, ScaleAnchor.MIDDLE)
  5. sprites.on_overlap(SpriteKind.player, SpriteKind.valentine, on_on_overlap)
复制代码

当玩家(灰心)与丘比特(红心)碰撞时:

设置胜利条件:玩家心形大小达到 120 像素,最多碰撞 6 次。

丘比特心被销毁。

玩家心形以中心为锚点,均匀放大 15 像素。

3、丘比特生成与箭矢发射
python
  1. def on_update_interval():
  2.     valentine.set_win_lose_size(120, 6)
  3.     valentine.check_win_or_lose()
  4.     valentine.send_valentine(assets.image("""cupid hearts"""), 3, assets.image("""arrow"""))
  5. game.on_update_interval(1800, on_update_interval)
复制代码

每隔 1800 毫秒(1.8 秒)执行一次:

再次设置胜负条件(冗余但安全)。

检查是否达到胜利或失败条件。

生成一个丘比特心,并发射 3 支箭矢(图像为 arrow)。


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 6 小时前

【花雕动手做】基于Kitronik可编程开发板之飞舞的心

图形编程参考实验程序

【花雕动手做】基于Kitronik可编程开发板之飞舞的心图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 5 小时前

【花雕动手做】基于Kitronik可编程开发板之飞舞的心

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

【花雕动手做】基于Kitronik可编程开发板之飞舞的心图1

实验场景记录

【花雕动手做】基于Kitronik可编程开发板之飞舞的心图2

【花雕动手做】基于Kitronik可编程开发板之飞舞的心图3

【花雕动手做】基于Kitronik可编程开发板之飞舞的心图4

回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail