五子棋算法设计随想

 

五子棋算法设计随想

作者:张景平

 

五子棋是深受人们特别是年轻朋友喜欢的一种娱乐性很强的益智游戏。本文讲讨论如何让计算机实现具有一定智能的五子棋算法。其中都是随时所想的记录。

一、如何将一个空棋位两端的棋势累加起来

1、两端只有一方的棋子

A.冲+冲型

显然冲+冲还是冲。并且冲值累积。例如,冲1+冲2=冲3。但是,可以看到,当冲值和小于5时,两者累加得到死棋。而冲值和大于等于4时此时为棋势最大。因此,总结起来,对于只有一方的冲值相加,只有两种情况,要么为死棋(棋势最小),要么为极棋(棋势最大)。

B.冲+活型

冲+活还是冲。冲值相加。例如,冲1+活2=冲3。

C.活+活型

活+活还是活,活值相加。例如,活1+活2=活3。

2、两端有不同方的棋子

A.冲+冲型

这个问题也不复杂。因为双方互相在此棋位制约,所以只有冲值不大于4,就是死棋,而冲值大于等于4时又为极棋。例如,敌冲1+我冲2=死棋,敌冲2+我冲3=死棋,敌冲4+我冲1=极棋。

B.冲+活型

这种情况也比较容易讨论。其实,认真观察会发现,双方棋子也在互相制约。

只要冲方不是冲4,此时此位的棋势即取活方棋势,因为无论如何冲方也不可能在此棋位胜利。而,冲方是冲四是就取冲方棋势。例如,敌冲2+我活1=我活1,敌冲4+我活1=敌冲4,敌活1+我冲2=敌活1,敌活2+我冲3=敌活2,敌活3+我冲4=我冲4。

C.活+活型

仍未活型。比较两者棋势,大者的棋势即为该棋位的棋势。例如,敌活1+我活2=我活2,敌活4+我活1=敌活4。

二、关于不同棋型棋势的设计

1、应当让冲4、活4等棋型拥有最高棋势。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值