五子棋核心算法.docVIP

  • 2
  • 0
  • 约6.1千字
  • 约 9页
  • 2017-02-28 发布于湖北
  • 举报
五子棋的核心算法 时间:2010-03-26 20:50来源:网络 作者:佚名 点击: 3115次 介绍了五子棋程序的数据结构、评分规则、胜负判断方法和搜索算法过程。 五子棋是一种受大众广泛喜爱的游戏,其规则简单,变化多端,非常富有趣味性和消遣性。这里设计和实现了一个人机对下的五子棋程序,采用了博弈树的方法,应用了剪枝和最大最小树原理进行搜索发现最好的下子位置。介绍五子棋程序的数据结构、评分规则、胜负判断方法和搜索算法过程。 一、相关的数据结构 关于盘面情况的表示,以链表形式表示当前盘面的情况,目的是可以允许用户进行悔棋、回退等操作。 CList StepList; //其中Step结构的表示为: struct Step { int m;//m,n表示两个坐标值 int n; char side;//side表示下子方 }; //以数组形式保存当前盘面的情况, //目的是为了在显示当前盘面情况时使用: char FiveArea[FIVE_MAX_LINE][FIVE_MAX_LINE]; //其中FIVE_MAX_LINE表示盘面最大的行数。 //同时由于需要在递归搜索的过程中考虑时间和空间有效性, //只找出就当前情况来说相对比较好的几个盘面,而不是对所有的可下子的位置都进行搜索, //这里用变量CountList来表示当前搜索中可以选择的所有新的盘面

文档评论(0)

1亿VIP精品文档

相关文档