驴友花雕 发表于 3 天前

【花雕动手做】基于 Kitronik 可编程开发板之通关樱桃

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

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

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







驴友花雕 发表于 3 天前

【花雕动手做】基于 Kitronik 可编程开发板之通关樱桃

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

MicroPython实验参考代码

def on_on_overlap(sprite, otherSprite):
    global count, level
    count += 1
    info.change_score_by(1)
    otherSprite.destroy()
    otherSprite.start_effect(effects.smiles, 200)
    if count > 10 + level:
      level += 1
      music.jump_up.play()
      startLevel()
    else:
      music.ba_ding.play()
sprites.on_overlap(SpriteKind.player, SpriteKind.food, on_on_overlap)

def startLevel():
    global count, food
    scene.set_background_color(randint(3, 7))
    count = 0
    index = 0
    while index <= 10 + level:
      food = sprites.create(sprites.food.small_cherries, SpriteKind.food)
      food.set_position(randint(20, 140), randint(20, 100))
      index += 1
    player2.say("Level " + str(level), 1000)
    info.start_countdown(10)
food: Sprite = None
count = 0
player2: Sprite = None
level = 0
game.splash("Hurry!", "通关樱桃!")
level = 1
player2 = sprites.create(sprites.castle.princess_front0, SpriteKind.player)
controller.move_sprite(player2, 70, 70)
startLevel()

驴友花雕 发表于 3 天前

【花雕动手做】基于 Kitronik 可编程开发板之通关樱桃

这段代码是一个用 MakeCode Arcade 编写的 “通关樱桃”游戏 的核心逻辑。玩家控制角色在限定时间内收集樱桃,达到一定数量后进入下一关。每一关难度逐渐提升,游戏节奏紧凑,适合锻炼反应力与目标感。下面是从专业角度对代码的详细解读:



代码逐段解析

1、玩家碰到樱桃(触发收集逻辑)
python
def on_on_overlap(sprite, otherSprite):

    global count, level

    count += 1# 收集数量+1

    info.change_score_by(1)# 得分+1

    otherSprite.destroy()# 销毁樱桃

    otherSprite.start_effect(effects.smiles, 200)# 显示笑脸特效

2、判断是否通关
python
    if count > 10 + level:

      level += 1# 进入下一关

      music.jump_up.play()# 播放通关音效

      startLevel()# 重置关卡

    else:

      music.ba_ding.play()# 播放收集音效

3、初始化或进入新关卡
python
def startLevel():

    global count, food

    scene.set_background_color(randint(3, 7))# 随机背景色

    count = 0# 重置收集计数

    index = 0

4、生成樱桃
python
    while index <= 10 + level:

      food = sprites.create(sprites.food.small_cherries, SpriteKind.food)

      food.set_position(randint(20, 140), randint(20, 100))# 随机位置

      index += 1

5、显示关卡提示 + 倒计时
python
    player2.say("Level " + str(level), 1000)# 显示当前关卡

    info.start_countdown(10)# 每关限时10秒

6、游戏初始化
python
food: Sprite = None

count = 0

player2: Sprite = None

level = 0

game.splash("Hurry!", "通关樱桃!")# 开始提示

level = 1

player2 = sprites.create(sprites.castle.princess_front0, SpriteKind.player)# 创建玩家角色

controller.move_sprite(player2, 70, 70)# 启用移动控制

startLevel()# 启动第一关

7、游戏特点总结
逐关挑战:每关需要收集的樱桃数量为 10 + 当前关卡数,难度逐渐提升。
时间限制:每关限时 10 秒,增加紧迫感。
视觉反馈:收集樱桃时有笑脸特效,通关时有音效提示。
动态背景:每关背景颜色随机变化,增强视觉体验。

驴友花雕 发表于 3 天前

【花雕动手做】基于 Kitronik 可编程开发板之通关樱桃

图形编程参考实验程序




驴友花雕 发表于 3 天前

【花雕动手做】基于 Kitronik 可编程开发板之通关樱桃

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



实验场景记录









驴友花雕 发表于 3 天前

【花雕动手做】基于 Kitronik 可编程开发板之通关樱桃


页: [1]
查看完整版本: 【花雕动手做】基于 Kitronik 可编程开发板之通关樱桃