littlebot
Published on 2025-04-16 / 1 Visits
0

【源码】基于ESP32硬件平台的GaMe多设备平衡游戏

项目简介

Ga - Me是一款跨设备游戏,基于ESP32硬件平台开发。它将经典乒乓游戏与创意艺术创作结合,探索人们在现实生活中平衡工作与休闲的挑战。游戏通过三个便携设备实现,玩家进行乒乓游戏时,球不在自己屏幕上能进行艺术创作,球进入屏幕艺术作品则被删除,需玩家平衡两种操作。

项目的主要特性和功能

游戏玩法

  • 乒乓游戏体验:左右两侧玩家各控制三个屏幕上的三个球拍,中间玩家可影响球的水平移动速度,助力或干扰其他玩家。
  • 创意艺术创作:球不在玩家屏幕时,玩家可通过触摸屏幕左右边缘与生成式艺术工具互动,创作受指纹启发的独特艺术作品。

硬件要求

  • 使用三个TTGO T - Display ESP32板,内置TFT LCD显示屏。
  • 推荐用USB C电缆编程,通过JST连接器用锂电池供电。

安装使用步骤

硬件设置

  1. 用USB C电缆连接TTGO T - Display ESP32板用于编程。
  2. 通过JST连接器为每个板连接锂电池供电。
  3. 可装饰设备顶部,但避免使用干扰天线的材料,覆盖设备要确保艺术控制界面可用。

软件设置

软件依赖

安装Arduino 1.8.13或类似版本。

准备工作

  1. 为每个设备上传GetMAC.ino,记录串口监视器输出的MAC地址。
  2. ESP32/GaMe目录下创建common.h文件,按如下格式写入MAC地址: ```c

define MAC1 {0xAB, 0xCD, 0xEF, 0x12, 0x34, 0x56}

define MAC2 {0xAB, 0xCD, 0xEF, 0x12, 0x34, 0x56}

define MAC3 {0xAB, 0xCD, 0xEF, 0x12, 0x34, 0x56}

``MAC1对应游戏“左侧”面板,MAC2为中间面板,MAC3`代表“右侧”面板。

安装步骤

  1. GaMe.ino中,将BOARD_ROLE定义为1,连接对应MAC1的板并上传代码。
  2. 对对应MAC3的板,将BOARD_ROLE定义为3后上传代码。
  3. 最后对中间板(对应MAC2)重复上述步骤,该板代码会启动乒乓游戏,若设备开机顺序不同,按其RESET按钮启动游戏。

配置调整

可通过修改以下宏来调整乒乓游戏玩法: | 宏 | 类型 | 功能 | | --- | --- | --- | | PADDLE_HEIGHT | 正整数 | 控制球拍大小 | | PADDLE_VEL | 正整数 | 控制球拍和球通过按钮输入的移动速度 | | BALL_RADIUS | 正整数 | 控制球的大小 | | VEL_X_MIN | 正整数 | 控制球的最小起始水平速度 | | VEL_X_MAX | 正整数 | 控制球的最大起始水平速度 | | VEL_Y_MIN | 正整数 | 控制球的最小起始垂直速度 | | VEL_Y_MAX | 正整数 | 控制球的最大起始垂直速度 | | GAME_TICK | 正小数 | 改变控制循环周期,值越大系统发热减少、电池续航可能增加,但过高会导致输入延迟和动画卡顿 |

游戏操作

乒乓游戏控制

  • 左右玩家(玩家1和3):左按钮使球拍向下移动,右按钮使球拍向上移动。
  • 中间玩家(玩家2):左按钮使球向左移动,右按钮使球向右移动,但不能完全改变球的方向。

艺术创作控制

当球不在玩家屏幕且未输掉乒乓游戏时,触摸屏幕左右边缘与生成式艺术界面互动,按左边缘增加逆时针旋转速度,按右边缘增加顺时针旋转速度,按压力度越大旋转速度越快。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】