(3)在棋盘点击对应位置,可以落子,棋盘上将由黑白子显示相应的棋子,并且棋子在横纵交点处;
(4)对战的过程中有悔棋的功能;
(5)游戏的过程中会有历史落子点显示;
(6)可以自动判断胜负,胜利一方形成一列的五个或5个以上的棋子,显示是黑方或者白方已经胜利的字样,并且停止落子的功能;
(7)有投降和保存棋局的功能。
2.3 非功能需求分析
非功能需求如下:
(1)在程序运行的过程中程序不能崩溃,更不能使系统出现问题,造成灾难性的后果;
(2)希望在此项目的基础上不做改动或做很少的改动就能在其他的系统或设备上运行;
(3)界面清晰容易看懂,方便玩家操作;
(4)游戏运行速度不能太慢,要反应及时,以免影响玩家的兴趣。
三、项目设计的基本原理和采用的主要方法与技术
整个系统主要有两个地方比较难以实现,一个就是判断此时哪一方有更大的获胜可能,另一个就是判断我们的落子位置。前者我们是通过判断是否有5个相同的棋子连在一条线上。以一个棋子为中心,有4条线可以形成五子连线.中心棋子即为最后一步所下棋子,以水平方向为例,从中心棋子出发(设为白子),先向左进行判断,若棋子为白子,则计数器加1(初始值为1),否则(为黑子或无子),则返回中心棋子,向右进行判断,进行相同操作。水平方向判定结束后,若计数器为5,则判白子胜,否则,计数器归1,再从竖直、两个斜向按顺序进行判定。棋盘的每个坐标有3个状态,分别为无子(标记为0),白子(标记为1),黑子(标记为2),对棋盘点进行判断时,只需判定其所在状态即可。若棋盘下满,仍未有五子连线,则判和。
而下一步的落子地方,我们可以通过利用计算机的超强的计算能力,通过计算在以后的几步中出现的多种可能性中,哪一种可能性最有利于获胜来找到落子位置。遍历整个棋盘,找出所有空白点,在每个空白点判断与该点相邻的4个方向上各方连续的棋子数,在每一个方向上,判断白子和黑子的连续的个数,判断活3,冲4等各种棋形状况,为各种状况赋权值。然后将该方向上的权值返