×

bbc micro:bit板的micro python冒险

消耗积分:0 | 格式:zip | 大小:0.00 MB | 2023-06-19

贾永世

分享资料个

描述

这个项目是 bbc micro:bit 板的 micro python 冒险。micro:bit 内置了几个有趣的传感器。我想首先利用通信功能,以及一些环境传感器。在详细阐述无线电范围内两个 micro:bits 之间的距离测量的想法时,我提出了微型迫击炮的想法。在某种程度上,人们可能会称其为老式炮兵游戏的增强现实版本。

游戏将两个 micro:bits 相互连接,并协商它们之间的虚拟距离。然后是时候变得快乐了。调整你的微:迫击炮选择弹丸速度并尝试击中对手迫击炮(使用虚拟弹丸)。

技术的:

该游戏是用 micro python 编写的,并利用了 micro:bits 无线电通信能力和加速度计。

当微型砂浆通电时,它会随机生成一个虚拟距离建议,然后监听来自另一个微型砂浆的消息。它还将尝试广播它的距离建议。通信通道是硬编码的。此版本不打算在无线电距离内使用两个以上的微型迫击炮。游戏将以某种方式运行,但所有微型迫击炮彼此之间的距离相同。这未经测试。两个以上不同距离的迫击炮将是未来版本的不错升级。如果多于一对的微型砂浆想要成对播放,则必须在编译和下载之前在代码中更改频道。

当协商一个距离时,两个微型迫击炮将广播一个 READY 信号。然后程序将:

A:听对方的消息。

B:通过按键监听用户输入。

A: 可以接收两种类型的消息。“H”表示迫击炮已被对手击中,并且活动标志将设置为 False。或者对手已经放弃的“WO”。两条消息都意味着游戏结束。但是,程序不是线程化的,因此,如果按下并按住按钮 a,游戏将不会结束,直到它被释放。

B:在按住按钮 A 时,将设置速度变量,或者更确切地说,将临时速度更改添加到基本速度。松开按钮 A 后,将使用速度、从微型砂浆加速器 y 轴读取的当前角度、重力变量和与对手的距离进行计算。结果值是虚拟弹丸到达 x 轴上的距离时的 y 距离。

poYBAGOX1XGAPuNEAABA9_MTF0I966.png
 

上图:如果距离 x 处计算的 y(本次战斗中为 1000)小于负 32(“爆炸半径”),则弹丸没有到达对手。显示太短。

poYBAGOX1XSAPeYNAABKMd6euL4354.png
 

上图:x 处计算的 y 大于 32,镜头太长。

pYYBAGOX1XaAe7RLAABJnEWRYpU100.png
 

上图:弹丸距离足以摧毁对手。微型迫击炮将发送一个“H”并宣布胜利。

比赛结束时,获胜者将看到一张快乐的脸,而较松的将看到一张悲伤的脸。重置将开始新游戏。可以通过按下按钮 B 放弃战斗。

有很多开发可以改进这款游戏。除了已经提到的,这里有一些建议:

玩几轮,记录输赢。

允许多次命中,每一次都会使对手变弱一点(两次射击之间的冷却时间更长,射弹效果更差......)

在活动中获得奖励射击(更大的爆炸半径)。

为通过 USB 连接到计算机的一个 microbit 创建一个“服务器”版本并进行远程战斗(需要重写 micro python 代码和计算机程序)。

使用多个加速轴来玩“3D”。

实现微型砂浆之间的真实距离测量。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !