10浏览
查看: 10|回复: 4

[项目] 【花雕动手做】基于Kitronik可编程开发板之发射火球

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

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

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

【花雕动手做】基于Kitronik可编程开发板之发射火球图2

【花雕动手做】基于Kitronik可编程开发板之发射火球图1

【花雕动手做】基于Kitronik可编程开发板之发射火球图3

驴友花雕  中级技神
 楼主|

发表于 2 小时前

【花雕动手做】基于Kitronik可编程开发板之发射火球

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

MicroPython实验参考代码

  1. projectile: Sprite = None
  2. scene.set_background_color(9)
  3. mySprite = sprites.create(img("""
  4.         . . . . . . 5 . 5 . . . . . . .
  5.         . . . . . f 5 5 5 f f . . . . .
  6.         . . . . f 1 5 2 5 1 6 f . . . .
  7.         . . . f 1 6 6 6 6 6 1 6 f . . .
  8.         . . . f 6 6 f f f f 6 1 f . . .
  9.         . . . f 6 f f d d f f 6 f . . .
  10.         . . f 6 f d f d d f d f 6 f . .
  11.         . . f 6 f d 3 d d 3 d f 6 f . .
  12.         . . f 6 6 f d d d d f 6 6 f . .
  13.         . f 6 6 f 3 f f f f 3 f 6 6 f .
  14.         . . f f d 3 5 3 3 5 3 d f f . .
  15.         . . f d d f 3 5 5 3 f d d f . .
  16.         . . . f f 3 3 3 3 3 3 f f . . .
  17.         . . . f 3 3 5 3 3 5 3 3 f . . .
  18.         . . . f f f f f f f f f f . . .
  19.         . . . . . f f . . f f . . . . .
  20.         """),
  21.     SpriteKind.player)
  22. def on_update_interval():
  23.     global projectile
  24.     projectile = sprites.create_projectile_from_sprite(img("""
  25.             . . . . . . . . . . . . . . . .
  26.             . . . . . . . . . . . . . . . .
  27.             . . . . . 4 4 4 4 4 . . . . . .
  28.             . . . 4 4 4 5 5 5 d 4 4 4 4 . .
  29.             . . 4 d 5 d 5 5 5 d d d 4 4 . .
  30.             . . 4 5 5 1 1 1 d d 5 5 5 4 . .
  31.             . 4 5 5 5 1 1 1 5 1 1 5 5 4 4 .
  32.             . 4 d d 1 1 5 5 5 1 1 5 5 d 4 .
  33.             . 4 5 5 1 1 5 1 1 5 5 d d d 4 .
  34.             . 2 5 5 5 d 1 1 1 5 1 1 5 5 2 .
  35.             . 2 d 5 5 d 1 1 1 5 1 1 5 5 2 .
  36.             . . 2 4 d d 5 5 5 5 d d 5 4 . .
  37.             . . . 2 2 4 d 5 5 d d 4 4 . . .
  38.             . . 2 2 2 2 2 4 4 4 2 2 2 . . .
  39.             . . . 2 2 4 4 4 4 4 4 2 2 . . .
  40.             . . . . . 2 2 2 2 2 2 . . . . .
  41.             """),
  42.         mySprite,
  43.         randint(-145, 145),
  44.         randint(-100, 100))
  45.     projectile.lifespan = 2000
  46.     if projectile.vx < 0:
  47.         projectile.image.flip_x()
  48. game.on_update_interval(500, on_update_interval)
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2 小时前

【花雕动手做】基于Kitronik可编程开发板之发射火球

代码解读

这段代码是一个用 MakeCode Arcade 编写的发射火球小游戏片段,核心玩法是:玩家角色每隔 0.5 秒自动发射一个“子弹”,子弹方向和速度随机,存在时间为 2 秒。下面是逐行解读,带你快速掌握它的逻辑和设计思路:

1、玩家角色初始化
python
  1. mySprite = sprites.create(img("""..."""), SpriteKind.player)
复制代码

创建一个玩家角色,使用的是一个自定义像素图像(看起来像是一个机器人或角色头像)。

类型为 SpriteKind.player,表示这是玩家控制的对象。

python
  1. scene.set_background_color(9)
复制代码

设置背景颜色为编号 9(通常是蓝绿色调),营造视觉氛围。

2、自动发射火球逻辑
python
  1. def on_update_interval():
  2.     global projectile
  3.     projectile = sprites.create_projectile_from_sprite(img("""..."""), mySprite, randint(-145, 145), randint(-100, 100))
复制代码

每隔 500 毫秒(0.5 秒)执行一次:

从玩家角色 mySprite 发射一个子弹。

子弹图像是一个自定义像素图(看起来像是飞船或导弹)。

子弹的速度是随机的:

水平速度 vx 在 -145 到 145 之间

垂直速度 vy 在 -100 到 100 之间

这意味着子弹可能向任意方向飞行,制造混乱或弹幕效果。

3、火球生命周期与图像翻转
python
  1. projectile.lifespan = 2000
  2. if projectile.vx < 0:
  3.     projectile.image.flip_x()
复制代码

子弹存在时间为 2000 毫秒(2 秒),之后自动销毁。

如果子弹向左飞(vx < 0),则将图像水平翻转,使其朝向飞行方向。

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2 小时前

【花雕动手做】基于Kitronik可编程开发板之发射火球

图形编程参考实验程序

【花雕动手做】基于Kitronik可编程开发板之发射火球图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2 小时前

【花雕动手做】基于Kitronik可编程开发板之发射火球

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

【花雕动手做】基于Kitronik可编程开发板之发射火球图1

实验场景记录

【花雕动手做】基于Kitronik可编程开发板之发射火球图3

【花雕动手做】基于Kitronik可编程开发板之发射火球图4

【花雕动手做】基于Kitronik可编程开发板之发射火球图2

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail