驴友花雕 发表于 2025-9-4 11:37:42

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

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

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

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







驴友花雕 发表于 2025-9-4 11:39:22

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

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

MicroPython实验参考代码

# When your Player (grey heart) overlaps with a Cupid (red heart), the Cupid disappears and your Player heart grows

def on_on_overlap(sprite, otherSprite):
    valentine.set_win_lose_size(120, 6)
    otherSprite.destroy()
    scaling.scale_by_pixels(sprite, 15, ScaleDirection.UNIFORMLY, ScaleAnchor.MIDDLE)
sprites.on_overlap(SpriteKind.player, SpriteKind.valentine, on_on_overlap)

# Every 1.8 seconds a red heart appears on the screen shooting this number of arrows

def on_update_interval():
    valentine.set_win_lose_size(120, 6)
    valentine.check_win_or_lose()
    valentine.send_valentine(assets.image("""
            cupid hearts
            """),
      3,
      assets.image("""
            arrow
            """))
game.on_update_interval(1800, on_update_interval)

驴友花雕 发表于 2025-9-4 11:41:49

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

代码解读

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

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

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

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

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

2、碰撞事件处理
python
def on_on_overlap(sprite, otherSprite):

    valentine.set_win_lose_size(120, 6)

    otherSprite.destroy()

    scaling.scale_by_pixels(sprite, 15, ScaleDirection.UNIFORMLY, ScaleAnchor.MIDDLE)

sprites.on_overlap(SpriteKind.player, SpriteKind.valentine, on_on_overlap)
当玩家(灰心)与丘比特(红心)碰撞时:

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

丘比特心被销毁。

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

3、丘比特生成与箭矢发射
python
def on_update_interval():

    valentine.set_win_lose_size(120, 6)

    valentine.check_win_or_lose()

    valentine.send_valentine(assets.image("""cupid hearts"""), 3, assets.image("""arrow"""))

game.on_update_interval(1800, on_update_interval)
每隔 1800 毫秒(1.8 秒)执行一次:

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

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

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


驴友花雕 发表于 2025-9-4 11:44:02

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

图形编程参考实验程序


驴友花雕 发表于 2025-9-4 12:17:22

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

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



实验场景记录







页: [1]
查看完整版本: 【花雕动手做】基于Kitronik可编程开发板之飞舞的心