原代码发布:辛苦了三个月,完成了一款五子棋的软件的开发工作........
YEMAO 2001-10-29 12:20:14 忙了两个多月,终于基本完成了《嘉嘉五子棋》的开发,帖文一篇,也算是纪念我的处女之作。
大二暑期,在家里闲的无聊,便有了做一个棋类软件的想法。先写了一个六子棋软件(有些地方叫老人棋),后来改写五子棋软件,大约花二十来天的时间,完成了算法的雏形,又用了两个多月的时间进行调试。
软件现在是0.01版,自我感觉已经是相当好了,棋力不错(我自己是很难搞定他了)。但肯定还有着一些Bug,因此,将算法的源程序发布出来,希望借众位之手抓出那些潜在的Bug,并近一步改进算法。我想这是一定的,因为Linus也曾经说过:“只要眼睛够多,所有的臭虫动是浅薄的".大家在改进算法之后,希望能够e_mai一份给我。
在这里,我只有发布算法的原代码,我觉得这才是最重要的,你可以在VC,BCB,TC,TC++自由的使用他们做出属于你的五子棋软件,当然,你不能将他们用做其他用途,否则,请与YEMAO本人联系。
最后抱怨一下,不知道为什么,我上传了一个多星期的软件,CSDN上还不给发布,e_mail催了几次,也不见回应,不得不在http://www.shareware.net上发布,仅用了一天就搞定了。
算法介绍:
《嘉嘉五子棋》的原代码包含了19个头文件(C代码),程序比较的长,但执行速度还比较的快。其中,使用到了很多基本的数据结构,采用的算法为ab剪枝法,目前的分支深为三,(该算法在AB.h中),基本数据结构在struct.h中定义。
首先,遍历棋局,将所有的连子存放在链表中,然后,找出可能的落子并存放在go_stack结构中。最后根据ab算法(按照go_stack中的落子顺序)计算出最优的落子方案。
原代码下载:
CSDN文档中心:http://www.csdn.net/filebbs/read_topic.asp?id=761
软件连接:http://www.shareware.net.cn/shareware_view.asp?id={1C04D46A-2177-4908-B7A5-5C07C1202838}
或CSDN文档中心:http://www.csdn.net/filebbs/read_topic.asp?id=752
e_mail:dgarjia@263.net