结对项目3-五子棋

一. 题目简介

五子棋游戏

1.该软件由画图、标记、判断模块三部分组成。各部分模块基本功能如下:

(1)画图模块:

 由画背景 ,画棋子 黑棋白棋要交错画到指定的坐标中,等组成。

(2)标记模块:

 将棋盘的坐标索引成二维数组的坐标;用一个二维数组对棋子进行标记,没有棋子为零,黑棋为2,白棋为1;

 如果有棋子时单击,否则提示此处已有棋子。

(3)判断模块:

 无禁手:黑白双方依次落子,任一方先在棋盘上形成连续的五个(含五个以上)棋子的一方为胜;

禁手主要分为以下几类: 

1.黑长连禁手:连成六个以上连续相同的棋子。

2.黑三三禁手:两个以上的活三。

3.黑四四禁手:两个以上的四。

2.功能需求

(1)五子棋规则:双方各执一色棋子,轮流下子(即棋子放棋盘任空交叉点上)直有一方的棋子有5个排成一线(无论横向、竖向还是斜向均可),则棋局结束,该方胜利;(2)设计可视化的界面,设计双方所使用的两色棋子和彩色棋盘,使其得体大方、比例恰当; (3)、双方轮流用鼠标或键盘下子。只有当鼠标单击棋盘网格交叉点附近时才可下子,点击其地方或已经有子的位置时不能下子,且给出相应提示; (4)在适当的位置显示比赛结果,比赛中能随时存储当前棋局。

二.结对分工及过程

  完成五子棋基本功能是:下棋和判断胜负。

为实现课程设计需求,需要实现的各个类、每个类需要负责实现的功能。

该游戏主要由以下几个模块组成:

 

此次项目中:徐晓萌负责画图模块及标记模块,在测试中负责白盒测试。

            郭蕾负责判断模块,在测试中负责黑盒测试。

三.代码地址

 https://github.com/guoleilei/wuziqi

结队代码地址

https://github.com/xutiantian/text

四.测试情况

1.测试目的

软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例{即输入数据及其预期的输出结果},并利用这些测试用例去运行程序,以发现程序错误的过程。设计测试的目标是想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果成功地实施了测试,就能够发现软件中的错误。测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。此外,实施测试收集到的测试结果数据为可靠性分析提供了依据。而测试的目的就是在软件投入生产性运行之前,尽可能地发现软件中的错误。

2.游戏图

 

 

3.黑盒测试

软件黑盒测试也是软件测试的主要方法之一,也可以称为功能测试数据驱动测试或基于规格说明的测试。测试者不了解程序的内部情况,只知道程序的输入、输出和系统的功能,这是从用户的角度针对软件界面、功能及外部结构进行测试,而不考虑程序内部逻辑结构

软件黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误:

1)功能不正确或遗漏;

2)界面错误;

3)数据库访问错误;

4)性能错误;

5)初始化和终止错误等。

测试方法可以分为以下几种:等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。

从理论上讲,软件黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。软件黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。

4.五子棋游戏测试用例如下表所示:

 

用例

操作

预期结果

实际结果

用例1

能否在不同版本的eclipese中运行该游戏 

游戏能够在设计该游戏

版本及以上中正常运行

Pass

用例2

运行时能否正常显示主

界面

运行时能正常显示主

界面

Pass

用例3

鼠标单击菜单—开始,是否可以运行游戏

可以运行游戏

Pass

用例4

鼠标单击棋盘,是否会有棋子落于该位置

棋子落于鼠标单击位置

Pass

用例5

当人下子出现“活三”、“冲四”,电脑是否会下子堵截

电脑会下子阻挡

Pass

用例6

多次游戏测试:在人(黑棋)没有出现“活三”、“冲四”的情况下,电脑(白棋)落子是否存在规律

黑棋没有出现“活三”、

“冲四”的情况下,电脑

(白棋)随机落子,不存

在规律

Pass

用例7

进行对战时,按照规则下棋能否正常输赢

可以正常输赢

Pass

用例8

判断在横线上5子能否获得胜利

可以

Pass

用例9

判断在竖线上5子能否获得胜利

可以

Pass

用例10

判断在斜线上5子能否获得胜利

可以

Pass

5.测试存在的问题

通过小组游戏测试发现,由于棋盘大小问题,使得可能导致有时棋子满格也没有分出胜负,这样,就很难显示博弈者的水平。

6.游戏不足的解决方案

通过对代码的修改实现对游戏棋盘大小的规格控制选择,让博弈者尽展各自高超棋艺。

7.回归测试

对修改后的游戏版本执行回归测试。

用例

操作

预期结果

测试结果

用例1

选择不同规格棋盘,能否正常运行

能正常运行

Pass

用例2

选择不同规格棋盘,对其他功能正常运行是否产生影响

没有影响

Pass

 

五.问题及心得

本项目分析了五子棋游戏的游戏规则,设计了游戏算法,并选择eclipse作为该软件的开发平台,实现了五子棋的多种对战模式,既可人与人对战,也可人与电脑对战。还实现了,自定义棋盘行列数。

本文将从开发环境的安装,到五子棋的功能分析与设计,到各功能模块的实现,逐步向您展现五子棋的实现过程。经测试,本游戏系统功能齐全,能平稳运行,具有较强的使用价值。

 

posted on 2015-05-16 21:46  yizimumu  阅读(415)  评论(5编辑  收藏  举报

导航