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

【花雕动手做】Kitronik 可编程开发板基于 ARCADE MakeCode 之恐龙妈妈小游戏 简单

头像 驴友花雕 2025.09.01 5 0

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

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

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

 

00 (2).jpg
00 (4).jpg
00 (5).jpg

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

 

00 (3).jpg

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

MicroPython实验参考代码
 

代码
def on_countdown_end():
    game.over(True)
info.on_countdown_end(on_countdown_end)

def on_on_overlap(sprite, otherSprite):
    otherSprite.destroy()
    info.change_score_by(1)
sprites.on_overlap(SpriteKind.player, SpriteKind.projectile, on_on_overlap)

babyDino: Sprite = None
scene.set_background_image(sprites.background.cityscape2)
mamaDino = sprites.create(assets.image("""
    Mama
    """), SpriteKind.player)
controller.move_only_onscreen_with_arrows(mamaDino, controller.Speeds.FAST)
scroller.scroll_background_with_speed(-50, 0)
info.start_countdown(15)

def on_forever():
    global babyDino
    babyDino = sprites.create_projectile_from_side(assets.image("""
        Baby
        """), -90, 0)
    babyDino.y = randint(15, 115)
    pause(1000)
forever(on_forever)

代码解读

1、游戏目标
玩家控制“恐龙妈妈”在屏幕上移动,去接住从右侧飞来的“恐龙宝宝”。每接住一个宝宝就得分,游戏限时 15 秒。

2、倒计时结束处理
python
def on_countdown_end():
   game.over(True)
info.on_countdown_end(on_countdown_end)
当 15 秒倒计时结束时,游戏结束。

game.over(True) 表示游戏胜利结束(可以改为 False 表示失败)。

3、 碰撞检测与得分
python
def on_on_overlap(sprite, otherSprite):
   otherSprite.destroy()
   info.change_score_by(1)
sprites.on_overlap(SpriteKind.player, SpriteKind.projectile, on_on_overlap)
当“恐龙妈妈”(玩家)与“恐龙宝宝”(投射物)发生碰撞时:

宝宝被销毁(destroy())

玩家得分 +1

4、初始化设置
python
babyDino: Sprite = None
scene.set_background_image(sprites.background.cityscape2)
mamaDino = sprites.create(assets.image("""Mama"""), SpriteKind.player)
controller.move_only_onscreen_with_arrows(mamaDino, controller.Speeds.FAST)
scroller.scroll_background_with_speed(-50, 0)
info.start_countdown(15)
设置背景为城市风景。

创建“恐龙妈妈”角色,并允许玩家用方向键控制移动。

背景以速度 -50 向左滚动,制造移动感。

启动 15 秒倒计时。

5、不断生成恐龙宝宝
python
def on_forever():
   global babyDino
   babyDino = sprites.create_projectile_from_side(assets.image("""Baby"""), -90, 0)
   babyDino.y = randint(15, 115)
   pause(1000)
forever(on_forever)
每秒生成一个“恐龙宝宝”从右侧飞向左边(速度 -90)。

宝宝的垂直位置是随机的,增加挑战性。
 

图形编程参考实验程序

 

34.jpg

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

 

35.jpg
00200---.gif

实验场景记录

 

36 (1).jpg
36 (2).jpg

评论

user-avatar
icon 他的勋章
    展开更多