想做一个五子棋的软件,但是对于五子棋不是很了解···请问应该怎么设计(例如在开局、中盘等应该采取什么计算方法)?以及五子棋的AI算法有哪些?谢谢啦
解决方案 »
- C#窗体 突出显示关键字 类似搜索帮助
- 新手问一下一个很简单的关于窗口按钮的问题
- 访问Oracle中的数据时,如果使用带Params(参数)的sql语句时,要几分钟才能返回结果。这是怎么回事?
- 帮忙! VB函数声明转换成C#声明
- 不给分就没人回答哦 什么世道呀 我都没分了。。。
- [有关TrueDbGrid问题]请有TrueDbGrid开发经验的高手帮一个忙![100分在线等待!]
- 未处理空引用异常,求大神指点
- 请教C#下如何序列化自定义结构或类?
- 如何多线程异步下载图片 C#
- 怎么实现这样的查询结果?(详细内容请进来看)用DataGrid还是报表?怎么做?
- 请问如何动态转换数据类型
- 100分求解关于添加XML的结点问题
给各大纲,做到第二步就可以和人玩了,比较成熟则要到第六步。 1、完成输赢判断,
2、寻找关键点(比如成五,堵冲四,成活四等), 3、完成局面的定性分析(为双方确定一个分数,比如可以数活二,三连的个数等等...),
4、选择比较重要的可能落子点(比如按重要性选10个点,或20个点等等), 5、采用Min-Max对弈树(google什么是MinMax),来实现电脑AI,
6、采用Alpha-Beta剪枝来(极大)提高速度,同样Goolge什么是Alpha-Beta, 7、阅读有关人工智能和棋类搜索的文献
8、改进算法,添加开局表等
人机对战的五子棋
参考
http://www.cnblogs.com/pains/archive/2008/03/14/895809.html
http://www.cnblogs.com/esshs/archive/2005/04/01/129824.aspx
http://www.cnblogs.com/kevinxtq/archive/2006/11/08/554292.aspx
http://www.cnblogs.com/studyzy/archive/2005/04/29/694121.html
http://www.cnblogs.com/pains/archive/2007/10/27/939673.html