驴友花雕 发表于 2025-8-31 11:00:46

【花雕动手做】基于 Kitronik 可编程开发板的赛马游戏

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

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

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







驴友花雕 发表于 2025-8-31 11:02:32

【花雕动手做】基于 Kitronik 可编程开发板的赛马游戏

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



Kitronik ARCADE 是一款专为与 MakeCode Arcade 编辑器一起使用而设计的掌上游戏平台,既可以编写自己的游戏并在 ARCADE 上运行它们,也可以下载现有游戏并享受功能齐全的掌上游戏体验。(网页版:https://arcade.makecode.com/)

Kitronik ARCADE 使用 Microsoft MakeCode 平台,具有以下优势:
图形化编程界面:适合初学者,支持拖拽式编程。
即时模拟器:可以实时测试游戏效果。
硬件兼容性:可部署到 Kitronik ARCADE 设备,实现实体游戏体验。
支持 Python/JavaScript:便于进阶学习。



驴友花雕 发表于 2025-8-31 11:10:00

【花雕动手做】基于 Kitronik 可编程开发板的赛马游戏


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

MicroPython实验代码


def on_on_overlap(sprite, otherSprite):
    carnival.custom_game_over_expanded("Player " + str(mp.get_player_property(mp.get_player_by_sprite(sprite), mp.PlayerProperty.NUMBER)) + " Wins!",
      effects.confetti,
      music.power_up,
      carnival.ScoreTypes.LTIME)
sprites.on_overlap(SpriteKind.player, SpriteKind.finish, on_on_overlap)

def set_up_for_players(num: number):
    sprites.destroy_all_sprites_of_kind(SpriteKind.player)
    index = 0
    while index <= num - 1:
      mp.set_player_sprite(mp.get_player_by_index(index),
            sprites.create(list2, SpriteKind.player))
      mp.get_player_sprite(mp.get_player_by_index(index)).set_position(20, 130 / (num + 1) + 20 * index)
      index += 1

def on_button_multiplayer_a_pressed(player2):
    mp.get_player_sprite(player2).x += 1.5
mp.on_button_event(mp.MultiplayerButton.A,
    ControllerButtonEvent.PRESSED,
    on_button_multiplayer_a_pressed)

list2: List = []
list2 = [assets.image("""
      p1
      """),
    assets.image("""
      p2
      """),
    assets.image("""
      p4
      """),
    assets.image("""
      p3
      """)]
scene.set_background_image(assets.image("""
    bg
    """))
set_up_for_players(2)
finish = sprites.create(assets.image("""
    finish
    """), SpriteKind.finish)
finish.set_position(150, 50)

def on_wrap():
    carnival.add_label_to("Horse Race", carnival.Areas.BOTTOM)
    game.show_long_text("P1, press the A button to Start", DialogLayout.BOTTOM)
    music.big_crash.play_until_done()
game.wrap(on_wrap)

驴友花雕 发表于 2025-8-31 11:33:23

【花雕动手做】基于 Kitronik 可编程开发板的赛马游戏

图形编程的几个模块
(1)设置赛马数组,场景背景,终点线,调用set_up_for_players函数,完成收尾。



(2)set_up_for_players函数



驴友花雕 发表于 2025-8-31 11:34:51

【花雕动手做】基于 Kitronik 可编程开发板的赛马游戏

(3)设置按键A,控制赛马精灵的运动



(4)设置赛马精灵与终点线碰撞,触发礼炮特效


驴友花雕 发表于 2025-8-31 11:36:24

【花雕动手做】基于 Kitronik 可编程开发板的赛马游戏

(5)赛马游戏的完整程序




驴友花雕 发表于 2025-8-31 11:38:10

【花雕动手做】基于 Kitronik 可编程开发板的赛马游戏

(6)通过模拟器,调试与模拟运行



(7)实验场景记录




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