[源码和文档分享]基于WIN32 API界面编程实现的华容道小游戏
1 游戏简介
华容道是古老的中国智力游戏,由“曹操败走华容道,正与关公狭路逢。只为当初恩义重,放开金锁走蛟龙”这一故事情节引申而来。华容道有一个4*5的二十个方块构成的棋盘,下方边界中间有一个宽为2方格的出口,还包含1个2*2的大滑块代表曹操,5个2*1的滑块代表五虎上将,4个1*1的小滑块代表小兵。游戏的目的是利用棋盘中两个1*1的空格来移动所有滑块,不允许跨越棋子,设法用最少的步数,最终使最上方被包围的曹操从出口成功脱逃。我在保持“横刀立马阵型”的基础上美化了滑块的图案,借用了时下流行的游戏“阴阳师”这一主题,赋予这个古老游戏一个新的面貌。
2 程序功能
在Win32下以图形界面提供给用户游戏平台,游戏开始时,所有滑块的起始位置都是确定的,用户通过鼠标点击选中滑块,被选中的滑块会闪烁,鼠标点击空白处,滑块会移动到相应位置,每次只能移动一步。
3 设计思路
WIN32界面编程要点:
- 主函数WinMain函数最重要的是注册窗口和创建窗口以及message的get、translate和dispatch
- GamePaint函数运用window的GDI函数完成了核心步骤,即所有图像的绘制过程
- CallBack回调函数则是从客户的所有操纵中接受信息并把它处理后反应为在游戏中的各步操作
用户操作方面包含数据表示和操作控制两个方面。
参考文档和完整的文档和源码下载地址: