Update main.c and add project requirements

This commit is contained in:
2025-07-24 10:27:18 +08:00
parent cb81105809
commit b413f7254a
2 changed files with 71 additions and 7 deletions
+59
View File
@@ -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增强指南、架构重构指南、网络功能说明、图标指南等
- 代码统计报告和项目简介
+12 -7
View File
@@ -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 <direct.h>
#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