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)