c语言围棋对弈程序设计,C语言围棋对弈程序设计(59页)-原创力文档

C语言围棋对弈程序设计

用C语言编写一个围棋对弈棋室的程序,模仿两人对弈的过程,其中包括自动提子功能,和自动点目功能。

1、围棋的一些基本常识:

(1)围棋棋子的“气”

见右图1所示黑棋1有4“气”,分别是水平方向上的左右

各有一气,垂直方向上的上下各有一气,对角上的不是它的气。

图1棋子外“气”

(2)提子(吃子),当下在棋盘上的棋子没有外气时便被提掉(死棋)。

图2、打吃状态 图3、提子

图2中黑1和白2都只有一口外气,图3黑先下7位白2没有外气被提掉。

图4、倒扑提子过程 图5死穴

图4演示了倒扑提子全过程,图中左上为原型,左下黑先黑41扑,右上白64提,右下黑93反提把白棋全吃掉。

(3)死穴:上图5黑1、3、5、7四颗黑子中间交差点对白棋来说是死穴,白棋下不进处,但对黑棋不影响可下见图下方。

2、自动提子功能实现

下在棋盘上的棋子同类别的在某一方位上可能是一颗或是一片(纵横连续的),要实现自动提子首要的是计算清楚这些同类棋子的所有外气是多少,如果已经没有外气提掉。一颗棋子下在棋盘上最多有4口外气(见图1),在边上有3气,在角上只有2气。在程序中对于每一颗棋子检测外气描述如下:检测棋子可能有的方向上(上、下、左、右)是否有棋子,

如果有,那么在该方向上没有外气。如果在所有的方向上都有棋子,那么它在棋盘上是无外

气的。如果在它所有方向上没有同类棋子而且又无外气,那么该颗棋子可以提掉(见图3)。

如果在某一方向上有同类棋子,必须计算完连在一起同类的所有外气。如果整片无外气&#x

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值