今天下午用C#写了一个五子棋游戏,由于我不懂人工智能,所以只写了一个两个人来玩的游戏,感觉也不难,唯一的难点就是如何判断游戏结束
现将这个部分的思路总结如下:
1.建立一个二维数组,与棋盘上可以下棋的位置一一对应。注意这里有个棋盘坐标和数组的转换问题;
2.对于任意一个棋子,设其下在棋盘上(x,y)的位置,则先判断其西北角方向,从(x-1,y-1)开始,如果是同种颜色,则调用递归函数。如果不是同一种颜色,则返回。函数调用结束后记录其西北方向连着的棋子个数(我用的是class里的”全局整数“)。然后判断其东南方向,记录连着的颜色相同的棋子的个数。最后如果两个结果相加等于4(因为未包含当前位置的棋子),则说明游戏结束。
存在的问题:
1.左侧和右侧两边缘有时会点不上,其实点已经画上了,就是没显示。
2.开始按钮还有些问题。
子浩说可以写一个在线联网玩的游戏,我觉得可能会难度大一点,但我会去试试。估计比人和电脑下的简单点吧