无聊,回顾4年前大学时代的课程设计——《马踏棋盘》【带MFC图形演示程序】

   前两天闲着无聊,翻看了一下我电脑中的源代码目录,东西比较多,惊喜的发现VS2003的项目目录中存放大学时学数据结构的一个专门的文件夹,从第一次上机实验到最后期末的课程设计的程序都通通放在里面:

那些0-\d开头文件夹中的程序都不记得是实现什么功能的了(看了代码才记起好像是当时老师为了让我们更好学习数据结构,特地花了一个月的时间复习C中的指针等内容做的一些小练习),其他的倒是一目了然。看到这样一个文件夹,当时我一下就想起大二那段时间疯狂学习C++与数据结构的情景,感觉那段日子是即郁闷又开心又充实,没想到,现在本僧从了.NET,却从来没有一位师太愿意做我的下一行代码,,想哭啊。。。还是先不回忆了(发现写博客写得少的人最开始就喜欢写回忆录,真SB的毛病!!),言归正传。

  刚刚在Google上搜索了一下《马踏棋盘》,刚好博客园上有一篇文章【这里】,没有仔细看代码,不过一个惊人的发现是,都用到了一对常量数组:
int nx[8]={-1,-1,1,1,-2,-2,2,2};
int ny[8]={-2,2,-2,2,-1,1,-1,1};

  呵呵,,方便寻找走下一步格子用的。。。解决思路都基本上一样,优化算法也是一样,很高兴当时优化算法是自己想出来的,TMD,让我痛苦了一个星期,当时辅导老师为了让我独立完成这个东西,每次问他的时候都在旁边装傻。。

  方案定了后,当时花了一两天的时间完成程序的编写,后来想想觉得原来那种教学试的Dos窗口程序演示这个问题太过于枯燥,于是又花了一天的时间,用我仅学的几个GDI函数,写了一个MFC的居然是基于多文档类型的程序,放个图上来:

  虽然界面不怎么好看(说明一下,红色椭圆是已经过的,黄灰色是下一步可以走的,紫色是优化算法选择下步走的,黑色是当前位置,紫红色是当前位置的上一步),特别是那两个别致的按钮,^_^。。。不过比这个还是直观多了:

  那串坐标。。。。

  程序都不想说了,,上图的第4项,,当时为了响应辅导老师的要求,用我那赛扬4的电脑执行了一个晚上也没算出来究竟有多少条路径,,我想这里面是不是有更优的算法,,辅导老师到最后都没告诉我怎么做,,,郁闷。。。

  不说了,吃饭去了,想玩的可以下载编译后的程序玩一玩,,,源码打包,还比较大,懒得清理了,,想要源代码的,给我留言发邮箱了。。。

点击这里下载

posted on 2010-06-04 17:08  Think...  阅读(1703)  评论(14编辑  收藏  举报