mirror of
https://github.com/ChuXunYu/OnlineRpg.git
synced 2026-01-31 08:31:26 +00:00
2
This commit is contained in:
156
README.md
Normal file
156
README.md
Normal file
@@ -0,0 +1,156 @@
|
||||
# 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<T> 泛型链表
|
||||
- **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)
|
||||
|
||||
## 许可证
|
||||
|
||||
本项目仅用于学习目的。
|
||||
Reference in New Issue
Block a user