迷宫 GDI 展示 及 读取位图获取信息
2015-03-21 15:45
169 查看
迷宫寻路
工具:Visual Studio 2013 平台:Win32
由于是C语言课,我就不适用MFC,DDraw等C++实现的框架了,直接用WindowsAPI,GDI进行,并且这个小程序用DDraw未免有点大财小用,DDraw留着以后学做游戏引擎。
新建Win32 Application,根据需求更改字符表资源:
添加用于读取图片迷宫和自定义迷宫的菜单资源:
ID分别为IDM_FILE , IDM_PICTURE
添加打开文件或图片的对话框资源:
ID如图所示。
再为这两个对话框添加回调函数:
在WndProc中添加点击菜单的响应事件:
添加变量,接受对话框返回信息:
对话框CALLBACK中将文本框的值储存起来:
添加用于迷宫问题寻解的cal.cpp,该文件提供接口接收信息,并将寻得路径存于栈中,cal.cpp及栈文件stack.h stack.cpp参见源文件,或我博客前面的文章,迷宫寻路问题的求解。
在主文件声明外部资源:
为事件响应应用接口,并判断错误输入:
处理临时栈(更改顺序):
添加用于动画效果的绘图:
运行一下,看看效果:
现在在开始绘图前加入清屏的代码:
剩下的就是从位图中获取地图信息的处理了,我采用GDI函数载入位图,每隔16取点,判断红色值大于蓝色值即为不可通行,否则为可以:
还有部分细节未说明的,请参照源代码(http://pan.baidu.com/s/1jGiSGYy)。
工具:Visual Studio 2013 平台:Win32
由于是C语言课,我就不适用MFC,DDraw等C++实现的框架了,直接用WindowsAPI,GDI进行,并且这个小程序用DDraw未免有点大财小用,DDraw留着以后学做游戏引擎。
新建Win32 Application,根据需求更改字符表资源:
添加用于读取图片迷宫和自定义迷宫的菜单资源:
ID分别为IDM_FILE , IDM_PICTURE
添加打开文件或图片的对话框资源:
ID如图所示。
再为这两个对话框添加回调函数:
在WndProc中添加点击菜单的响应事件:
添加变量,接受对话框返回信息:
对话框CALLBACK中将文本框的值储存起来:
添加用于迷宫问题寻解的cal.cpp,该文件提供接口接收信息,并将寻得路径存于栈中,cal.cpp及栈文件stack.h stack.cpp参见源文件,或我博客前面的文章,迷宫寻路问题的求解。
在主文件声明外部资源:
为事件响应应用接口,并判断错误输入:
处理临时栈(更改顺序):
添加用于动画效果的绘图:
运行一下,看看效果:
现在在开始绘图前加入清屏的代码:
剩下的就是从位图中获取地图信息的处理了,我采用GDI函数载入位图,每隔16取点,判断红色值大于蓝色值即为不可通行,否则为可以:
还有部分细节未说明的,请参照源代码(http://pan.baidu.com/s/1jGiSGYy)。
相关文章推荐
- Android——使用Volley+fastJson在新线程中读取网络接口获取天气信息
- java读取照片信息 获取照片拍摄时的经纬度
- 读取配置文件获取所需信息
- 读取BMP文件中关于位图属性的信息,将一个数值矩阵封装为一个BMP格式的文件
- java获得U盘根目录、读取图片视频头文件信息、获取视频时长
- [置顶] Android中高仿快牙实现Socket列表的展示,获取安卓手机系统安装的应用和自己安装的应用相关信息
- C#读取歌曲列表获取单个音乐文件信息
- Android软件开发之获取通讯录联系人信息 + android联系人信息的存储结构 + Android联系人读取操作笔记
- 使用 Unity(二):配置 Unity 、读取配置信息和获取对象
- 读取pcap文件,过滤非tcp包,获取IP及tcp端口信息
- pe文件解析:读取pe信息获取文件资源
- C# 读取纯真IP数据库QQWry.dat获取地区信息
- ASP.NET读取照片EXIF信息来获取相机型号
- C# 读取纯真IP数据库QQWry.dat获取地区信息
- 客户端获取游客IP,获取客户地理信息,展示地图
- 根据HBITMAP获取位图的尺寸信息
- PHP文件操作(一)获取文件信息,读取文件
- 注册表的信息读取--获取系统串口数
- Android 通过读取本地Arp表获取当前局域网内其他设备信息
- 读取bmp图片的文件头,与位图信息头