回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

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

头像 驴友花雕 2025.09.04 13 2

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

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

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

00 (2).jpg
00 (3).jpg
00 (4).jpg

作为学习、练习与尝试,这里创建一个飞舞的心的小游戏。
打开网页版: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)

代码解读

这段代码是一个用 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)。

图形编程参考实验程序

 

53.jpg

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

 

00202-.gif

实验场景记录

 

54 (1).jpg
54 (2).jpg
54 (3).jpg

评论

user-avatar
  • 战悠局局长诸葛亮

    战悠局局长诸葛亮2025.09.04

    nb

    1
    • 驴友花雕

      驴友花雕2025.09.04

      谢谢鼓励

icon 他的勋章
    展开更多