# OnlineRpg - C++ 在线回合制对战游戏 ## 项目简介 本项目是一个基于 C/S 架构的在线回合制对战游戏,使用纯 C++ 开发,控制台界面。 ## 🚀 快速开始 ### 1. 启动服务器 ```bash cd /mnt/e/50425/Documents/Github/OnlineRpg ./build/bin/server ``` ### 2. 启动客户端(新开终端) ```bash cd /mnt/e/50425/Documents/Github/OnlineRpg ./build/bin/client ``` ### 3. 开始游戏 1. 注册账号 → 2. 登录 → 3. 创建角色 → 4. 进入大厅 → 5. 战斗! 📖 **详细游戏指南**: 查看 [`如何运行和游戏.md`](如何运行和游戏.md) ## 核心技术 - **多态**: ICharacter 和 ISkill 抽象基类 - **模板 + 链表**: 手写 HistoryLog 泛型链表 - **STL**: std::map, std::vector, std::thread, std::mutex - **网络编程**: 原生 Socket API (Winsock/POSIX) - **数据库**: SQLite3 ## 系统要求 - C++17 或更高版本 - CMake 3.15+ - SQLite3 (可选,项目包含 amalgamation 版本) ### Windows - Visual Studio 2019+ 或 MinGW - Windows 7+ ### Linux - GCC 7+ 或 Clang 5+ - POSIX Sockets ## 项目结构 ``` OnlineRpg/ ├── include/ # 头文件 │ ├── core/ # 核心类 (多态、模板) │ ├── common/ # 通用类 (网络、数据库) │ ├── server/ # 服务器类 │ └── client/ # 客户端类 ├── src/ # 源文件 │ ├── core/ │ ├── common/ │ ├── server/ │ └── client/ ├── lib/ # 第三方库 (SQLite3) ├── data/ # 数据文件 (数据库) ├── build/ # 构建目录 └── docs/ # 文档 ``` ## 构建步骤 ### Windows (Visual Studio) ```powershell # 创建构建目录 mkdir build cd build # 生成 Visual Studio 项目 cmake .. # 构建 cmake --build . --config Release # 运行 .\bin\Release\server.exe .\bin\Release\client.exe ``` ### Windows (MinGW) ```powershell mkdir build cd build cmake -G "MinGW Makefiles" .. cmake --build . .\bin\server.exe .\bin\client.exe ``` ### Linux ```bash mkdir build cd build cmake .. make -j$(nproc) ./bin/server ./bin/client ``` ## 使用说明 ### 启动服务器 ```bash ./bin/server [port] # 默认端口: 8888 ``` ### 启动客户端 ```bash ./bin/client [server_ip] [port] # 默认: localhost:8888 ``` ### 游戏操作 1. **注册/登录**: 启动客户端后选择注册或登录 2. **大厅聊天**: 直接输入消息发送 3. **查看玩家**: 输入 `/list` 查看在线玩家 4. **发起对战**: 输入 `/invite <玩家名>` 邀请对战 5. **战斗**: 轮到自己时输入技能编号进行攻击 ## 功能特性 - ✅ 用户注册/登录 (数据库持久化) - ✅ 游戏大厅 (公共聊天) - ✅ 在线玩家列表 - ✅ 1v1 对战邀请 - ✅ 回合制战斗系统 - ✅ 多职业系统 (战士、法师) - ✅ 技能系统 - ✅ 战斗回放 ## 开发计划 请参阅项目文档: - [项目愿景与范围.md](项目愿景与范围.md) - [详细需求规格.md](详细需求规格.md) - [系统架构设计.md](系统架构设计.md) - [关键模块与接口.md](关键模块与接口.md) - [验收标准.md](验收标准.md) ## 许可证 本项目仅用于学习目的。