mirror of
https://github.com/LHY0125/Gobang-Game.git
synced 2026-05-09 18:09:46 +08:00
refactor(config): 更新时间限制为30分钟并调整配置文件存储格式
refactor(globals): 移除不必要的GUI运行状态标志 refactor(gui): 更新注释以反映使用IUP库 refactor(ai): 修改威胁检测逻辑以提升威胁等级 refactor(config): 修改加载和保存配置的时间限制逻辑 refactor(network): 更新默认网络端口常量 refactor(record): 移除冗余注释并增强复盘步骤的合法性检查
This commit is contained in:
+2
-4
@@ -34,7 +34,7 @@
|
||||
//---------- 游戏设置默认值 ----------//
|
||||
#define DEFAULT_USE_FORBIDDEN_MOVES false // 默认不启用禁手规则
|
||||
#define DEFAULT_USE_TIMER 0 // 默认不启用计时器
|
||||
#define DEFAULT_TIME_LIMIT 30 // 默认时间限制为30秒(内部存储)
|
||||
#define DEFAULT_TIME_LIMIT 1800 // 默认时间限制为30分钟(内部以秒存储: 30*60)
|
||||
|
||||
//---------- AI参数 ----------//
|
||||
#define DEFAULT_AI_DEPTH 5 // 默认AI搜索深度
|
||||
@@ -48,8 +48,6 @@
|
||||
#define NETWORK_BUFFER_SIZE 1024 // 网络缓冲区大小
|
||||
|
||||
// 网络配置
|
||||
#define DEFAULT_PORT 8888 // 默认端口(与DEFAULT_NETWORK_PORT保持一致)
|
||||
#define BUFFER_SIZE 1024 // 缓冲区大小(与NETWORK_BUFFER_SIZE保持一致)
|
||||
#define MAX_IP_LENGTH 16 // 最大IP地址长度
|
||||
|
||||
// 网络消息类型
|
||||
@@ -65,7 +63,7 @@
|
||||
|
||||
//---------- 评分参数 ----------//
|
||||
// 棋型评分 - 用于calculate_step_score函数
|
||||
#define SCORE_FIVE 0 // 五连
|
||||
#define SCORE_FIVE 5000 // 五连
|
||||
#define SCORE_LIVE_FOUR 2000 // 活四
|
||||
#define SCORE_RUSH_FOUR 1000 // 冲四
|
||||
#define SCORE_DEAD_FOUR 300 // 死四
|
||||
|
||||
@@ -33,8 +33,6 @@ extern int ai_difficulty; // AI难度 (1-5)
|
||||
extern NetworkGameState network_state; // 网络游戏状态
|
||||
|
||||
// ==================== GUI相关变量 ====================
|
||||
// Raylib 不需要暴露窗口和渲染器指针
|
||||
extern int gui_running; // GUI运行状态标志
|
||||
extern int current_player_gui; // GUI当前玩家
|
||||
extern int game_over; // 游戏结束标志
|
||||
extern char status_message[256]; // 状态消息
|
||||
|
||||
+3
-39
@@ -1,9 +1,8 @@
|
||||
/**
|
||||
* @file gui.h
|
||||
* @brief 图形化用户界面头文件
|
||||
* @note 使用Raylib库实现五子棋的图形化界面
|
||||
* @note 使用IUP库实现五子棋的图形化界面
|
||||
* @author 刘航宇
|
||||
* @date 2025-01-15
|
||||
*/
|
||||
|
||||
#ifndef GUI_H
|
||||
@@ -17,45 +16,16 @@
|
||||
|
||||
/**
|
||||
* @brief 初始化GUI
|
||||
* @details 初始化Raylib图形库和游戏界面组件
|
||||
* @details 初始化IUP图形库和游戏界面组件
|
||||
* @return 成功返回0,失败返回-1
|
||||
*/
|
||||
int init_gui();
|
||||
|
||||
/**
|
||||
* @brief 清理GUI资源
|
||||
* @details 关闭窗口
|
||||
*/
|
||||
void cleanup_gui();
|
||||
|
||||
/**
|
||||
* @brief 渲染游戏画面
|
||||
* @details 完整的游戏画面渲染流程
|
||||
*/
|
||||
void render_game();
|
||||
|
||||
/**
|
||||
* @brief 处理事件
|
||||
* @details 处理所有Raylib事件并执行相应操作
|
||||
* @return 继续运行返回1,退出返回0
|
||||
*/
|
||||
int handle_events();
|
||||
|
||||
/**
|
||||
* @brief 绘制棋盘
|
||||
*/
|
||||
void draw_board();
|
||||
|
||||
/**
|
||||
* @brief 绘制棋子
|
||||
*/
|
||||
void draw_stones();
|
||||
|
||||
/**
|
||||
* @brief 绘制UI元素
|
||||
*/
|
||||
void draw_ui_elements();
|
||||
|
||||
/**
|
||||
* @brief 屏幕坐标转棋盘坐标
|
||||
*/
|
||||
@@ -81,16 +51,10 @@ void start_pve_game_gui();
|
||||
*/
|
||||
void start_replay_gui();
|
||||
|
||||
/**
|
||||
* @brief 启动图形化界面模式
|
||||
* @note 替代原来的 main 函数中的 GUI 分支逻辑
|
||||
*/
|
||||
int init_gui(); // Already declared
|
||||
|
||||
/**
|
||||
* @brief 运行图形化界面模式
|
||||
* @details 主循环处理事件、渲染画面和更新状态
|
||||
*/
|
||||
void run_gui_mode();
|
||||
|
||||
#endif // GUI_H
|
||||
#endif // GUI_H
|
||||
|
||||
@@ -8,7 +8,6 @@ extern Ihandle *dlg;
|
||||
extern Ihandle *board_canvas;
|
||||
extern Ihandle *lbl_player;
|
||||
extern Ihandle *lbl_status;
|
||||
extern int gui_loop_running;
|
||||
extern int gui_game_mode; // 0: PvP, 1: PvE, 2: Replay
|
||||
extern int replay_total_steps; // 复盘总步数
|
||||
|
||||
|
||||
Reference in New Issue
Block a user