数据结构设计--《五子棋》对弈程序

手敲800多行代码,搞了6个小时,终于写完了五子棋博弈问题,艰难!(以下纯属个人思路,仅供参考,创作不易,禁止搬运)

希望对大家有帮助。

1.课题要求

还记得我们在第一章 见过的“人机对弈”那个例子吗?现在就请你利用自己所学的知识,设计一一个“ 五子棋”对弈程序吧。注意:你所设计的‘对弈程序”的对手是人,因此你的“对弈程序”也要具有一定的智能:能赢就绝不平局,最差的结果也就是平局。要求:

(1)当用户执子时,需在界面上输入落棋的位置。

(2) 当用户落子后,“对弈程序”在两秒后给出落子位置。

(3) 每当一方落子后,要刷新棋盘状态。

(4)棋盘大小为15*15。

2.思路

又加了一个人-人PK。

(1)判断输赢,只可能在当前落子的位置判断输赢

(2)电脑所要执行的操作:

a.当用户已经构成3子的时候,此时电脑必须拦截用户所下的第4个棋子的

落子位置,如果拦截失败,用户在某种意义上面已经取得胜利,只需要走

接下来的操作即可,此时用户胜利;如果拦截成功,则继续游戏,但是还有

一种情况,当用户连成3子的话,此时电脑已经连成3子了,此时电脑下连成

3子的位置.

b.如果用户没有构成3子的话,电脑可以走自己的步数,一次搜索有没有构

成4个棋子的,如果有,则落下此棋子;如果没有4个棋子的,再搜索有没有

你可能感兴趣的:(数据结构,数据结构,算法)