五子棋,C#源代码程序,附五子棋博弈搜索实验报告,代码有详细的解说.
算法:
由于五子棋比一字棋难,规则多,又有禁手限制,无法采用简单的搜索和加分方式
。
为了分清各种情况的轻重缓急,我们采用一次性打分的策略:
对棋盘上的每个空位根据情况的轻重缓急,越重越争分越高,反之越低,然后根据
打分找出分值最高的的位置下子。
打分事实根据有:是否赢棋(最高),对方是否要赢棋,是否禁手,可形成四连的
个数,和形成三连(包括活三)的个数,对方可可形成四连的个数,和形成三连(
包括活三)的个数,等等。
本算法的好处在于,既有攻又有守,而且攻守较严。
1