mirror of
https://github.com/ChuXunYu/OnlineRpg.git
synced 2026-01-30 21:41:26 +00:00
main
OnlineRpg - C++ 在线回合制对战游戏
项目简介
本项目是一个基于 C/S 架构的在线回合制对战游戏,使用纯 C++ 开发,控制台界面。
🚀 快速开始
1. 启动服务器
cd /mnt/e/50425/Documents/Github/OnlineRpg
./build/bin/server
2. 启动客户端(新开终端)
cd /mnt/e/50425/Documents/Github/OnlineRpg
./build/bin/client
3. 开始游戏
- 注册账号 → 2. 登录 → 3. 创建角色 → 4. 进入大厅 → 5. 战斗!
📖 详细游戏指南: 查看 如何运行和游戏.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)
# 创建构建目录
mkdir build
cd build
# 生成 Visual Studio 项目
cmake ..
# 构建
cmake --build . --config Release
# 运行
.\bin\Release\server.exe
.\bin\Release\client.exe
Windows (MinGW)
mkdir build
cd build
cmake -G "MinGW Makefiles" ..
cmake --build .
.\bin\server.exe
.\bin\client.exe
Linux
mkdir build
cd build
cmake ..
make -j$(nproc)
./bin/server
./bin/client
使用说明
启动服务器
./bin/server [port]
# 默认端口: 8888
启动客户端
./bin/client [server_ip] [port]
# 默认: localhost:8888
游戏操作
- 注册/登录: 启动客户端后选择注册或登录
- 大厅聊天: 直接输入消息发送
- 查看玩家: 输入
/list查看在线玩家 - 发起对战: 输入
/invite <玩家名>邀请对战 - 战斗: 轮到自己时输入技能编号进行攻击
功能特性
- ✅ 用户注册/登录 (数据库持久化)
- ✅ 游戏大厅 (公共聊天)
- ✅ 在线玩家列表
- ✅ 1v1 对战邀请
- ✅ 回合制战斗系统
- ✅ 多职业系统 (战士、法师)
- ✅ 技能系统
- ✅ 战斗回放
开发计划
请参阅项目文档:
许可证
本项目仅用于学习目的。
Description
Languages
C
98.8%
C++
1.1%