diff --git a/TXT/项目要求.txt b/TXT/项目要求.txt new file mode 100644 index 0000000..a2abb95 --- /dev/null +++ b/TXT/项目要求.txt @@ -0,0 +1,59 @@ +项目要求文档 - 五子棋游戏 + +1. 项目概述 + - 开发一个基于C语言的五子棋游戏,支持本地多人、AI对战和网络对战模式。 + - 游戏应运行在Windows环境下,支持命令行界面。 + - 包括游戏配置、记录保存和复盘功能。 + +2. 功能需求 + - **游戏模式**: + - 单人模式:玩家 vs AI + - 双人模式:本地两人对战 + - 网络模式:通过TCP/IP进行远程对战 + - **棋盘和规则**: + - 默认15x15棋盘,支持自定义大小(5-25) + - 支持禁手规则选项 + - 先手黑子,五连珠获胜 + - **AI功能**: + - 实现AI算法,支持不同难度级别(1-5级) + - AI应能计算最佳落子位置 + - 支持Alpha-Beta剪枝算法和威胁检测 + - **配置管理**: + - 支持修改棋盘大小、禁手规则、计时器、网络端口等 + - 配置保存到INI文件 + - 默认配置和重置功能 + - 统一的输入验证机制 + - **游戏记录**: + - 自动保存对局记录到CSV文件 + - 支持复盘功能,查看历史对局 + - 记录包含时间戳、玩家信息、棋局步骤等 + - **用户界面**: + - 命令行界面显示棋盘 + - 支持坐标输入落子(数字格式:行 列) + - 显示当前玩家、计时、游戏状态等信息 + - 菜单系统和配置界面 + - **网络功能**: + - 支持服务器/客户端模式 + - 实时传输棋子位置 + - 超时和断线处理 + - 支持端口配置 + +3. 技术要求 + - 使用C语言开发 + - Windows平台,包含Winsock网络库(-lws2_32链接) + - 模块化设计:分离游戏逻辑、AI、配置、网络、UI等模块 + - 错误处理和统一的输入验证 + - 支持跨平台编译(Windows/Linux) + +4. 非功能需求 + - 性能:响应时间<1秒(AI计算除外) + - 可维护性:代码模块化,注释清晰 + - 兼容性:Windows 11,支持GCC编译器 + - 可扩展性:易于添加新的AI算法和游戏模式 + +5. 交付物 + - 源代码文件(.c/.h文件) + - 配置文件(gobang_config.ini) + - 记录文件夹(records/) + - 文档:README.md、AI增强指南、架构重构指南、网络功能说明、图标指南等 + - 代码统计报告和项目简介 \ No newline at end of file diff --git a/main.c b/main.c index b074c3a..f1b406a 100644 --- a/main.c +++ b/main.c @@ -1,3 +1,15 @@ +/** + * @file main.c + * @brief 五子棋游戏主函数文件 + * @note 本文件包含了游戏的主循环、模式选择和游戏初始化等功能 + * @brief 将以下指令复制到powershell + * gcc -std=c17 -o gobang.exe *.c -lws2_32 + .\gobang.exe + * @detail gcc 为编译器,添加了-lws2_32链接Windows网络库 + * @detail 编译指令:gcc -std=c17 -o gobang.exe *.c -lws2_32 + * @detail 运行指令:.\gobang.exe + */ + #include "game_mode.h" #include "ui.h" #include "config.h" @@ -7,13 +19,6 @@ #include #endif -/** - * @brief 将指令复制到powershell - * gcc -std=c17 -o gobang.exe *.c -lws2_32 - .\gobang.exe - * gcc 为编译器,添加了-lws2_32链接Windows网络库 - */ - int main(int argc, char *argv[]) { // 设置控制台编码为UTF-8