# love2d-pong-mqtt-game **Repository Path**: slmpt/love2d-pong-mqtt-game ## Basic Information - **Project Name**: love2d-pong-mqtt-game - **Description**: 基于mqtt实时通讯的pong游戏 - **Primary Language**: Lua - **License**: Zlib - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-27 - **Last Updated**: 2025-11-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LÖVE2D Pong MQTT Game 一个基于LÖVE2D框架开发的多人在线Pong游戏,使用MQTT协议进行实时通信。 ## 项目结构 ``` love2d-pong-mqtt-game-main/ ├── main.lua # 主游戏入口文件 ├── conf.lua # LÖVE2D游戏配置 ├── README.md # 项目说明文档 ├── loveframes/ # UI框架库 ├── mqtt/ # MQTT客户端库 ├── screens/ # 游戏界面模块 │ ├── Home.lua # 主菜单界面 │ ├── Lobby.lua # 游戏大厅界面 │ ├── Pairing.lua # 配对等待界面 │ └── MainGame.lua # 主游戏界面 └── utils/ # 工具模块 ├── auth_agent.lua # 认证代理 ├── mqtt_client.lua # MQTT客户端配置 ├── read_file.lua # 文件读取工具 └── split_string.lua # 字符串分割工具 ``` ## 游戏流程 1. **主菜单 (Home)**: 玩家输入用户名 2. **游戏大厅 (Lobby)**: 选择开始新游戏或加入现有游戏 3. **配对等待 (Pairing)**: 玩家1等待其他玩家加入 4. **主游戏 (MainGame)**: 进行Pong对战 ## 技术特点 - **实时通信**: 使用MQTT协议实现玩家间的实时数据同步 - **模块化设计**: 界面和功能模块分离,便于维护 - **事件驱动**: 基于LÖVE2D事件系统处理用户输入 - **网络同步**: 玩家位置和得分通过MQTT实时同步 ## 控制方式 - **↑/↓方向键**: 控制球拍上下移动 - **鼠标**: 操作UI界面按钮 ## MQTT主题 - `players`: 玩家加入/离开通知 - `playerPosition`: 玩家位置同步 - `playerScores`: 得分更新 ## 运行要求 - LÖVE2D游戏引擎 - .env文件(包含Ably API密钥) - 网络连接(用于MQTT通信) ## 开发者 Osinachi Chukwujama