首页 >> 铸钢件

基于ESP32的冒险小游戏—TWANG有线电视

文章来源:豆皮机械网  |  2022-10-09

基于ESP32的冒险小游戏—TWANG

这个游戏的玩法:在灵活的操纵杆的帮助下,玩家必须在一维线世界中移动代表你自己的角色(其中一个 LED)。

背景

Twang32 是一款冒险游戏,放置在一长串发光点上,在这种情况下,发光点是带有 WS2812 Leds 的 Led 灯带。在灵活的操纵杆的帮助下,玩家必须在一维线世界中移动他的角色(其中一个 LED)。玩家必须克服障碍并面对敌人才能找到出口。游戏在 1000 个单位线上进行,敌人、玩家、熔岩等的位置范围从 0 到 1000,代表它们的 LED 是使用 getLED() 函数派生的。无论 LED 的数量如何,一切都发生在这条 1000 单位宽的线上。

这个项目的灵感来自 Robin Baumgarten 的 Line Wobbler 游戏,原始的 GitHub 页面是:

https://github.com/bdring/TWANG32

我通过制作定制外壳进行了一些小修改,并使用了在我的工作室中找到的弹簧。缺点是 LED 灯带占用大量空间,这是非常不切实际的,因为标准 LED 灯带每米最多可包含 144 个 LED。为此,我使用了 DFRobot ( https://www.dfrobot.com/product-2255.html?tracking=61ee19d8ddc08 ) 的 RGB 可编程 LED 灯条,它包含 166 个二极管,长度仅为 50 厘米,并且与 WS2812B 灯条兼容. 条带在其长度的一半后以 60% 的角度向上延伸,从而减少了所需的额外空间。

控制器使用弹簧和加速度计,并且是具有独特“摆动”动作的令人惊讶的精确操纵杆(将其拉回并松开使其快速来回摆动)。正是这种摆动动作是游戏体验的核心。

正如我之前提到的,该设备的构建非常简单,并且只包含几个组件:

基于 ESP32 的微控制器板PAM8403小D类功放板蜂鸣器

MPU6050 - 位于操纵杆顶部的 6 轴运动跟踪装置
还有一个可以包含 60 到 1000 个 LED 的 LED 灯条。在这种情况下,它包含 166 个 LED,但这对于我们的项目来说已经足够了。

首先,我们需要使用 Arduino IDE 编译和上传固件。这个过程一般来说都已经完成,所以现在我们接下来奖从基本步骤开始。为此,我们需要为 ESP32 安装 Arduino Core,而不是 FastLED 和 RunningMedian 库。

下载 TWANG32 Sketch Source 文件后,所有文件都应该放在一个名为 TWANG32 的文件夹中。您需要在 config.h (remove //) 中为您拥有的条形类型取消注释。确保只有 #define 行之一未注释。接下来打开与 TWANG32.ino 相同文件夹中的 settings.h 文件。将#define NUM_LEDS 166 更改为您计划使用的 LED 计数。这会设置灯条中的默认 LED 数量。之后,按以下步骤编译和上传固件,这可能需要几分钟来编译。

在 Tools→Boards 菜单下,选择 ESP32 开发板将 ESP32 连接到您的计算机从工具…端口菜单中选择正确的通信端口点击上传按钮

现在让我们看看该设备在现实中是如何工作的:

游戏由 20 个关卡组成,每个后续关卡都比前一个关卡更难。通过向前/向后移动操纵杆,绿色(播放器)二极管也会移动。运动速度与角度的增加成正比。如果我们左右倾斜操纵杆或摆动它,摧毁敌人的武器就会被激活。如果您仔细查看代码,在“void loadLevel”部分有一个注释教程,用于编辑或创建您自己的新关卡。

游戏还有一个 WiFi 访问端口,用于获取游戏统计数据。我们需要连接智能手机或电脑才能看到它们。

SSID:TWANG_AP

密码:12345666

地址:192.168.4.1

您可以通过 WiFi 更新这些设置

LED 计数LED 亮度音频音量操纵杆死区(消除漂移)攻击阈值(Twang 灵敏度)每个级别的生命值

与原来的盒子不同的是,盒子是在 3D 打印机上制作的,我将它安装在一个合适的由 PVC 板制成的盒子中,厚度为 3 毫米,因为对我来说这是一个更简单的解决方案。

到此,尽情享受你的游戏吧!

本文中所用到的一些代码

如果您对此项目有任何想法、意见或问题,请在下方留言。

以上内容翻译自网络,原作者:Mirko Pavleski,如涉及侵权,可联系删除。

昆明丽江大理旅游攻略
三菱空调故障代码p8怎么解决
冰箱的排水孔堵塞严重怎么解决
空调堵塞怎么检修