通过对软件的编写,更深入的理解了面向对象的概念,也体会到利用面向对象语言处理一些问题的优势。同时也加深了对多线程,流套接字等高级技术的理解。
通过软件功能的分析,根据五子棋爱好者的需求,得出以下需求信息:
1.具有重新开始功能;
2.具有认输功能;
3.具有提示该轮到哪一方下棋的功能;
4.退出游戏功能;
5.判断胜负功能;
6.时间设置功能;
7.五子棋难度选择功能;
8.联机功能。
软件各个功能的简要说明
1.绘制十五行十五列的棋盘:首先是每行每列的距离都是一样的,并且棋盘上面有五个星,棋盘中间有个天元点,跟围棋的棋盘一样。
2.点击鼠标以后,会在相应位置落下棋子,并被绘制出来,黑子是一个实心的黑圆,白子是一个实心的白圆加上一个等大空心的黑圆。棋子落在交点上:我们在下五子棋棋的时候,棋子都是会落在交点上的,而并非落在格子里面,那么我们就要规定当我点击鼠标时,选取距离鼠标所取点的最近的左上交点为绘制棋子的中心点,那么就可以实现棋子落在交点上了。
3.黑白双方轮流落子:黑方落子以后就要轮到白方,交替进行,这是下棋的基本要求,因此我们就要弄一个互斥事件进去,让他们交替的落子。不能落在相同位置:当我们落子时,会不小心落到相同位置上去,那么就要出现提示,不能落在相同位置上,需要重新落子,实现的设想是当这个点已经绘制过棋子以后,我们就要给一个布尔变量,让它为假,那么只能在它为真时才能绘制棋子,否则就要重新落子到别的地方去。
4.判断输赢:当五个相同颜色子都连在了一起的时候,我们就要判其为赢,这五个子可以在横竖方向上连起,也可以在斜方向上连起。
5.游戏信息:我们应该在棋盘的上面设置一个游戏信息的,用来提示当前轮到哪一方下棋了,以便于玩家知道谁在下,这个功能只要在黑白双方轮流下棋功能的过程中添加一个提示信息用于显示到界面上的就可以了。
6.重新开始游戏就是把棋盘上的子全部清空,回复到一开始的时候的状态,重置之前所有的数据。认输的功能就是在判断输赢功能的基础上添加的,让玩家对自己没信心的时候使用。退出游戏的功能就是直接把窗口关闭就可以了。
7.游戏难度选择:游戏难度选择是由玩家自主选择的与电脑下五子棋的一个重要方法。可以根据自身的下棋水平来选择和那种电脑来下。难度分为三种,分别是:简单、中等与困难。而且电脑的思维是根据难度提升而提升。
8.联机对战:联机对战是为了方便玩家与玩家相互之间切磋棋艺而设定的一大功能模块,可以在一个局域网里面,然后联机对战。当双方建立联系以后,点击开始就可以进行联网对战了。这极大的提高了五子棋的娱乐程度。