Files
OnlineRpg/README.md
2025-10-26 20:44:58 +08:00

3.2 KiB

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. 开始游戏

  1. 注册账号 → 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

游戏操作

  1. 注册/登录: 启动客户端后选择注册或登录
  2. 大厅聊天: 直接输入消息发送
  3. 查看玩家: 输入 /list 查看在线玩家
  4. 发起对战: 输入 /invite <玩家名> 邀请对战
  5. 战斗: 轮到自己时输入技能编号进行攻击

功能特性

  • 用户注册/登录 (数据库持久化)
  • 游戏大厅 (公共聊天)
  • 在线玩家列表
  • 1v1 对战邀请
  • 回合制战斗系统
  • 多职业系统 (战士、法师)
  • 技能系统
  • 战斗回放

开发计划

请参阅项目文档:

许可证

本项目仅用于学习目的。