mirror of
https://github.com/LHY0125/Gobang-Game.git
synced 2026-06-29 00:45:55 +08:00
96a94aaddf
- 构建系统:Makefile 迁移至 CMakeLists.txt,支持 cJSON 和 WinHTTP - 项目结构:src/ 按功能拆分为 core/、gui/、network/、record/、llm/ 子目录 - 新功能:集成大模型 AI(WinHTTP + cJSON,兼容 OpenAI 协议),支持异步请求 - 渲染修复:IupDraw* 替换为 Windows GDI,修复画布黑屏问题 - 网络修复:ENet 初始化幂等化,实现真实 get_local_ip() (Winsock) - 代码质量:删除死代码 (dfs/count_threats_in_direction),修复头文件守卫, sprintf→snprintf 防溢出,strncpy 安全终止,GDI 资源泄漏修复 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
38 lines
1.1 KiB
C
38 lines
1.1 KiB
C
#ifndef GUI_INTERNAL_H
|
|
#define GUI_INTERNAL_H
|
|
|
|
#include <iup.h>
|
|
|
|
// 全局变量声明 (在 gui_core.c 中定义)
|
|
extern Ihandle *dlg;
|
|
extern Ihandle *board_canvas;
|
|
extern Ihandle *lbl_player;
|
|
extern Ihandle *lbl_status;
|
|
extern int gui_game_mode; // 0: PvP, 1: PvE, 2: Replay, 3: Network
|
|
extern int replay_total_steps; // 复盘总步数
|
|
|
|
// 核心功能 (在 gui_core.c 中定义)
|
|
void update_ui_labels();
|
|
int screen_to_board(int screen_x, int screen_y, int *board_x, int *board_y);
|
|
|
|
// 游戏窗口 (在 gui_game.c 中定义)
|
|
void create_game_window();
|
|
void start_pvp_game_gui();
|
|
void start_pve_game_gui();
|
|
void start_network_game_gui();
|
|
int action_cb(Ihandle *ih);
|
|
int button_cb(Ihandle *ih, int button, int pressed, int x, int y, char *status);
|
|
int k_any_cb(Ihandle *ih, int c);
|
|
int btn_back_cb(Ihandle *ih);
|
|
int btn_undo_cb(Ihandle *ih);
|
|
int btn_save_cb(Ihandle *ih);
|
|
|
|
// 复盘功能 (在 gui_replay.c 中定义)
|
|
void select_replay_file_gui();
|
|
int btn_replay_prev_cb(Ihandle *ih);
|
|
int btn_replay_next_cb(Ihandle *ih);
|
|
int btn_replay_sel_ok_cb(Ihandle *ih);
|
|
int btn_replay_sel_cancel_cb(Ihandle *ih);
|
|
|
|
#endif // GUI_INTERNAL_H
|