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

【花雕动手做】Kitronik 可编程开发板基于 ARCADE MakeCode 之游戏信息 简单

头像 驴友花雕 2025.09.11 3 0

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

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

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

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

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

MicroPython实验参考代码

 

代码
def on_a_pressed():
    info.change_score_by(1)
controller.A.on_event(ControllerButtonEvent.PRESSED, on_a_pressed)

def on_b_pressed():
    info.change_life_by(-1)
controller.B.on_event(ControllerButtonEvent.PRESSED, on_b_pressed)

mySprite = sprites.create(img("""
        ...........................cccccccccc..........................
        .........................ccc11111111ccc........................
        ........................cc111111111111cc.......................
        .......................cc11111111111111cc......................
        ......................cc1111111111111111cc.....................
        ......................c111111111111111111c.....................
        .....................cc111111111111111111cc....................
        .....................cc1111111111111111111c....................
        .....................c11111111111111111111c....................
        ....................cc11111111111111111111cc...................
        ....................cc11111111111111111111cc...................
        ....................cc111111111111111111111c...................
        ....................cc111111111111111111111c...................
        ....................cc111111111111111111111c...................
        ....................cc111111111111bcccc1111c...................
        ....................cc11111111111111ccc1111c...................
        .....................c11bcccc1111111cc11111c...................
        .....................cb111ccc1111111111111cc...................
        .....................cb111cc11111111111111cc...................
        .....................cb1111111111111b111ccccc..................
        ....................ccbb111111111111b11cc111cc.................
        ..................ccc11bb11111b1111b111c11111cc................
        ................cccdd111bb11111bbbb111b1111111ccccc............
        ...............cc111d1111bbb11111111bb1111bb111cc1cc...........
        ..............cc1111dd11111bbbbbbbbbbb1111bb111b111cc..........
        ..............c111111d11111111d11111bbb111bb11bb1111cc.........
        .............cc111111d11111111dd1111bb1b111b11b111111c.........
        ............cc111114441111111111ddddb11bbbb111b111111c.........
        ...........cc11111145411111111111111b11111111bb111111cc........
        ..........cc111111145411111111111111bb1111111bb1111111c........
        .........ccdd111111454111111111111111bb1111111bb111111cc.......
        ........cc111d1111145441111111111111111b1111111bb111111c.......
        .......cc11111d111d45541111111111111111bb1111111bb11111c.......
        .......c111111dd1ddd45411111111111111111bb1111111bbddd1cc......
        ......cc1111bbbbbddd454111111111111111111bb11111111bddd1c......
        ......cc11bbb111bbbd4541111111111111111111bb11111111111dcc.....
        ......cc11bb111bbbbc4541111111111111111111dbc11111111111cc.....
        ......cc11b111bb111bc5411111111111111111111dcc11111111111c.....
        bbbbbbcc111111b11111bc4cc111111111111111111ddcc1111111111c.....
        dddddddcc1111b111111bb11ccbbbbbbbb111111111dddcc11111111cc.....
        ddddddddcc111b1111111bb11cdddddddbbbbbbbbbbbbbccc111111cc......
        ddddddddddcccb11111111bbccbbddddddddddddddddddddccc111ccbbbbbbb
        ddddddddddddccc11111111bc111bbbddddddddddddddddddccccccdddddddd
        dddddddddddddccc1111111cc111111bbbddddddddddddddddddddddddddddd
        ddddddddddddbb11cc1111cc111111111bddddddddddddddddddddddddddddd
        ddddddddddbb11111cccccc111111111bdddddddddddddddddddddddddddddd
        ddddddddddb11111111111111111111bddddddddddddddddddddddddddddddd
        ddddddddddbb111111111111111111bdddddddddddddddddddddddddddddddd
        ddddddddddddbb111111111111111bddddddddddddddddddddddddddddddddd
        ddddddddddddddbb111111111111bdddddddddddddddddddddddddddddddddd
        ddddddddddddddddbb111111111bddddddddddddddddddddddddddddddddddd
        ddddddddddddddddddbb111111bdddddddddddddddddddddddddddddddddddd
        ddddddddddddddddddddbb111bddddddddddddddddddddddddddddddddddddd
        ddddddddddddddddddddddbbbdddddddddddddddddddddddddddddddddddddd
        ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
        """),
    SpriteKind.player)
controller.move_sprite(mySprite)
mySprite.set_stay_in_screen(True)
info.set_score(0)
info.set_life(5)
info.start_countdown(10)

代码逐段解析
1、 按下 A 键:增加分数
python
def on_a_pressed():
   info.change_score_by(1)
controller.A.on_event(ControllerButtonEvent.PRESSED, on_a_pressed)
当玩家按下 A 键时,调用 info.change_score_by(1),分数增加 1。

可用于模拟收集物品、击败敌人等得分行为。

2、按下 B 键:减少生命
python
def on_b_pressed():
   info.change_life_by(-1)
controller.B.on_event(ControllerButtonEvent.PRESSED, on_b_pressed)
当玩家按下 B 键时,生命值减少 1。

可用于模拟受到伤害、失败事件等。

3、创建玩家角色
python
mySprite = sprites.create(img("""..."""), SpriteKind.player)
创建一个玩家精灵,图像为一个大型像素图(可能是飞船、怪兽或其他角色)。

使用 SpriteKind.player 类型,便于后续事件绑定。

4、启用移动控制
python
controller.move_sprite(mySprite)
启用控制器对角色的移动控制(默认使用方向键或摇杆)。

5、限制角色在屏幕内
python
mySprite.set_stay_in_screen(True)
防止角色移出屏幕边界,保持在可见范围内。

6、初始化游戏信息
python
info.set_score(0)
info.set_life(5)
info.start_countdown(10)
设置初始分数为 0。

设置初始生命值为 5。

启动一个 10 秒倒计时,适用于限时挑战或关卡控制。

图形编程参考实验程序

 

89.jpg

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

 

00206--.gif

实验场景记录

 

90 (1).jpg90 (2).jpg90 (3).jpg90 (4).jpg
 

评论

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