初次玩这个游戏是刚入大学的时候,我手机上带的小游戏。后来手机丢了,就再也没有玩过了。
前天逛csdn的时候看到这个文章:http://student.csdn.net/space.php?uid=108270&do=blog&id=34114&page=2#content
心血来潮,想自己用VC++实现一个,权当是怀旧了。。
效果就是这个样子了。所有的颜色都可以订制:背景色,球颜色,网格颜色
代码只实现了基本的功能,没有写计分之类的代码。
我的开发环境是:vs2008 + sp1 + windows 7
如果你想编译下面的代码,必须得有vs2010 或者 vs2008 安装sp1
代码封装的比较完整,你只需要提供一个可供在上面绘图的 GUI 窗体,
使用调用这个代码:
BOOL CGamePanel::InitializeGamePanel(HWND hWndClient,CRect &rect,int row);
初始化一些设置。
响应重绘的时候调用:void CGamePanel::DrawGamePanel()
响应鼠标消息调用:void CGamePanel::OnClick(const CPoint &pt);
就可以得到一个 七色球游戏画面了
SetGridColor 等函数可以设置一些界面信息。。背景色我没有提供接口,跟SetGridColor一样实现。
此代码中的两个方格之间的最短路径查找代码如下:
广度优先遍历。使用了递归实现,特别是各个容器的数据频繁插入删除,效率不怎么好。
如果谁有兴趣,可以实现一个更好点的路径查找。
不废话了。我就直接贴代码吧。
头文件:
实现文件:
工程文件就不发了。
写了两天,还得做好多事情,挺累的,不想再写了。谁要是看不懂的话,可以在下面留言,
如果有兴趣的话也可以到我的另外一个博客:www.nogod.info 去看看 (这算个广告了。)