
《五子棋大师》项目复盘
软件技术实训报告
汇报人简介:胥凡 ,软件253班的大一学生。对C语言学习较为感兴趣。
指导老师:沈涵飞
汇报时间:2026年6月26日
汇报场合:若水楼1702软件技术专业C语言实训项目展示
一
项目简介

《五子棋大师》是一款基于C语言原生Win32 API开发的单机图形化五子棋游戏。项目实现了完整的交互界面,并内置了具备三种难度梯度的“启发式评估”AI对战算法。
二
项目特色

1.全图形化界面展示 交互完整


没有调用 EasyX 或其他的图形库,只依靠 Windows 32 GDI (图形设备接口)绘制所有界面,完全在“WM_PAINT”中完成,实现视觉精致的图形页面。并且游戏说明、战绩统计、游戏界面、难度切换、游戏结束鼓励框实现功能闭环,让用户体验友好。

2.人机博弈对战机制

AI走棋的本质是评估每个空位的得分,选出最优位置。采用启发式分值评估算法,通过调整进攻与防守的权重比例,划分简单 / 中等 / 困难三档 AI 强度:简单3:1,中等7:3,困难10;8),让AI表现出不同对弈强度。三种难度实施切换,评分算法兼顾攻守,让对局既有挑战性又有学习空间。AI 自动扫描棋盘落子点位、计算最优走法,对局结束自动弹出胜负提示并统计双方战绩,实现真实人机对抗体验。

三
项目开发技巧
开
发
工
具
本次五子棋项目以C-Free作为核心开发编译环境,依托软件原生编译调试功能完成基础代码编写、程序运行与基础 BUG 排查,保障代码稳定编译输出 Windows 桌面程序。同时搭配 Deepseek、Trae CN 两款 AI 辅助工具协同开发。
开
发
过
程
整体项目遵循「先搭骨架,再注入灵魂」分层递进式开发思路,复刻企业小型软件标准化开发流程,分三大阶段落地完整五子棋程序:
1.视觉框架搭建阶段WM_PAINT绘图消息,从零绘制棋盘线条、黑白棋子、主菜单弹窗、胜负提示面板等全部可视化界面,优先保证界面布局美观、窗口渲染流畅,搭建起程序完整视觉骨架。WM_LBUTTONDOWN鼠标左键点击消息,实现鼠标落子、点位识别、界面实时刷新交互;设计二维数组作为棋盘核心数据容器,存储每一格棋子状态、坐标信息,实现点击落子、棋盘数据同步更新基础对局功能。开
发
技
巧
1. 利用Windows 32 GDI实现全图形界面显示,利用AIPlay 模块根据当前难度系数实行动态攻守权重配比。
2. 先独立完成基础功能,遇到逻辑 bug、冗余代码时借助 AI 优化,多次运行测试、调整参数,慢慢完善程序。
四
实训收获
本次 C 语言实训开发《五子棋大师》是一次极具挑战的成长经历。初期仅掌握基础语法,面对 Win32 绘图、AI 博弈算法无从下手,按照 “先框架、后逻辑、再优化” 的思路分步攻坚,逐个攻克界面绘制、鼠标点击响应、棋盘数据存储、AI 权重调参等难点。
在调试 AI 算法阶段,为平衡人机对战难度,反复修改进攻防守分值配比,不断测试对局效果,深刻体会到算法优化的乐趣;借助工具辅助修复代码漏洞,也学会高效解决开发 bug 的实用技巧。
从前只会写简单控制台小程序,如今能独立完成带图形界面、智能算法的完整桌面游戏,不仅夯实了 C 语言编程功底,更掌握了完整项目开发思路。这次实训让我明白,编程学习不能只停留在背诵语法,只有落地实战、独立完成项目,才能真正吃透专业知识。

责编丨徐平 刘书言
排版丨徐平 刘书言
审核丨沈涵飞
夜雨聆风