驴友花雕 发表于 前天 08:55

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

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

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

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







驴友花雕 发表于 前天 08:58

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

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

驴友花雕 发表于 前天 09:01

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

代码逐段解析
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 秒倒计时,适用于限时挑战或关卡控制。

驴友花雕 发表于 前天 09:03

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

图形编程参考实验程序


驴友花雕 发表于 前天 09:04

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

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



实验场景记录











页: [1]
查看完整版本: 【花雕动手做】基于 Kitronik 可编程开发板之游戏信息