3 Commits

Author SHA1 Message Date
Serendipity 0c9cfba81b refactor(gui): 拆分大型 GUI 模块为多个功能文件
将单一的 gui.c 文件拆分为 gui_core.c、gui_draw.c、gui_game.c 和 gui_replay.c,并引入 gui_internal.h 作为内部头文件。更新 Makefile 以包含新的源文件。同时修复了复盘模式中主菜单的隐藏时机,并改进了记录文件的加载逻辑以更安全地处理 CSV 解析。

- 提取核心 GUI 初始化、事件循环和坐标转换到 gui_core.c
- 分离绘图功能(棋盘、棋子)到 gui_draw.c
- 将游戏逻辑(PvP/PvE)移动到 gui_game.c
- 独立复盘功能到 gui_replay.c,优化文件选择流程
- 修复 btn_replay_cb 中过早隐藏主菜单的问题
- 增强 load_game_from_file 的健壮性,使用 sscanf 替代 fscanf 并改进行处理
2026-03-17 17:13:46 +08:00
Serendipity dd2b6fd903 refactor: 重构项目为纯GUI版本并清理冗余代码
- 移除控制台版本相关代码,包括game_mode、ui、init_board等模块
- 将empty_board函数移至gobang.c核心模块
- 简化main.c仅保留GUI启动逻辑
- 更新Makefile仅构建GUI版本
- 清理过时文档和配置文件
- 优化GUI菜单和游戏窗口交互逻辑
- 添加AI难度配置支持
2026-03-17 16:57:27 +08:00
Serendipity d796065bb9 chore: 添加预编译的IUP库文件并更新.gitignore
添加Windows平台所需的IUP GUI库文件至libs目录,包括iupcontrols、iupgl、iupim等核心组件。
同时更新.gitignore文件,优化构建产物和临时文件的忽略规则,将临时游戏存档从*.csv改为records/目录。
2026-03-16 13:28:55 +08:00