# **1\. 项目名称**

C++ 在线回合制对战游戏 (Project: OnlineRpg)

# **2\. 项目背景与目标**

本项目旨在为《C++程序设计》课程开发一个结课作业。目标是创建一个C/S架构的、多玩家在线的、控制台界面的回合制对战游戏。

项目**首要目标**是展示对 C++ 核心特性和库的深度理解和综合运用，特别是**多态、模板、STL、链表、网络编程**和**数据库**技术。

项目的**次要目标**是实现一个功能完整、可玩性高的小型游戏原型。

# **3\. 核心功能范围 (MVP)**

为确保在 8 周的开发周期内完成，我们的最小可行产品 (MVP) 范围如下：

1. **用户系统 (C/S \+ DB)**：玩家可以通过客户端注册和登录服务器，数据必须持久化。  
2. **游戏大厅 (C/S \+ Chat)**：玩家登录后进入大厅，可以看到大厅的公共聊天信息，并可以发送聊天。  
3. **玩家列表与邀请 (C/S)**：玩家在大厅可以查看当前所有在线玩家列表，并向指定玩家发起“对战邀请”。  
4. **1v1 战斗 (C/S \+ Polymorphism)**：玩家接受邀请后，双方进入一个独立的战斗房间。战斗在服务器上进行，客户端只负责收发指令和战报。  
5. **战斗回放 (Template \+ Linked List)**：战斗结束后，服务器能生成一份该场战斗的完整日志（战报回放）。

# **4\. 关键约束**

1. **开发语言**：必须使用 C++。  
2. **运行环境**：必须是**控制台 (Terminal)** 应用，不涉及图形化界面 (GUI)。  
3. **技术强制要求**：必须在项目中明确使用（并能在报告中阐述）所有 6 项关键技术。  
4. **平台**：应能跨平台编译（Windows Winsock / Linux POSIX Sockets）。  
5. **依赖**：除 SQLite3 的 C 语言库外，**禁止**使用任何大型第三方网络库或游戏引擎（如 Boost.Asio, libevent, Unreal, Unity 等）。