现在想写一个五子棋程序,但技术有限,请大家帮帮忙!
如何根据鼠标点下的位置,确定棋子应下在哪个交叉点?
如何判断胜负,即五子连成了一线?
只要思路,不要源代码!
我也正在思考这个问题
我的思路是:
设计一个函数,每下一个子,就运行这个函数,函数的功能:
整个五子棋盘相当于一个二维数组,函数有三个参数,如
判断每个棋子所对应的四条线上与该棋子相邻的棋子是否够5个
如:从坐标(i-4,j)----到(i,j)-----(i+4,j)每条线要扫描五次
www.codechina.net上有原程序,有兴趣可以下载来看看。我正在看。
如果只是判断胜负的话,下面的想法可能对你有帮组。假设当前下入点为
(x-1,y-1) (x, y-1) (x+1,y-1)
(x-1,y) (x,y) (x+1,y)
(x-1,y+1) (x,y+1) (x+1,y+1)
建立一个二维数组记录棋盘上的每个点,标示每个点的状态
对当前点分别进行三组判断,很容易判断出胜负。
当然涉及到下一个点的继续判断,应该可以做3个递归函数,来进行3组判断。
这种题目还要递归干嘛,五子棋游戏在新下的子周围判断有没有五个连续的子就行了,别的子不用理它.