五子棋功能测试分析报告
五子棋实验报告(含代码)

实验报告实验一五子棋游戏北方工业大学 2013级计算机技术米鹏一、实验原理及方法五子棋游戏开发借用Visual Studio 2012软件开发平台,选用C#语言进行编写。
整体程序主要分为三部分:界面操作部分、AI逻辑部分和棋子定点分析部分。
1、界面操作部分界面操作部分代码主要针对图像呈现、对应矩阵存储、下棋过程控制等可见的操作环节进编写。
同时负责整个程序的初始化工作。
图像呈现采用C#中Graphics进行绘制。
棋盘被划分为15行15列,每个划分出的小方格均为30*30的正方形,棋盘可操作的范围规定在(20,20)、(460,460)两点的确定的正方形区域内。
通过鼠标左击来确定下子地点。
程序会根据鼠标鼠标点击的位置进行计算,计算得到时对应矩阵的行列,之后再改变对应矩阵的内容后,在通过行列值乘以小方格边长计算得到在显示区域中的具体位置,再稍加变动后画到显示区域中。
以X点坐标为例,下面是计算X(Column)的流程图:在对应矩阵存储方面,后面AI逻辑和棋子分析所用到的矩阵都是来源这里。
同时AI 逻辑和棋子分析不能去修改对应矩阵内容。
图像呈现点的位置、重绘的根据都是来源这里。
在下棋过程控制方面采用信号亮的机制,当操作者下过后,根据信号AI会立即计算将要下点的位置同时改变信号亮变量。
当AI下过棋子后,由于信号亮的的限制就等待操作者去下棋,同时改变信号亮变量内容。
AI和操作者的所有下子、修改矩阵、显示棋子的过程都是统一的。
在每一盘游戏开始时程序会对一些重要的变量进行初始化这里包括矩阵、信号亮、第一步棋子颜色、呈现图像等内容进行初始化。
同时AI会在棋盘中央下第一子。
2、AI逻辑部分AI逻辑部分算是整个程序策略的灵魂。
其中的一些关键性判别的前后关系将影响AI 的下棋的结果。
同时加大和降低AI的难度也是这里。
下面是我设计的策略过程:从下棋者的考虑角度进行考虑,尽可能保证每一次下子都是有必要的、都是在情理当中的。
我所设计的策略并不是完整,漏洞在与没有考虑三棋子连续的情况。
五子棋测试报告

1引言1.1编写目的测试五子棋程序是否完成需求说明书以及概要设计说明书中规定的功能。
参考文档:需求分析说明书、概要设计1.2项目背景对项目目标和目的开发一个可以使用的,联网对战和单机游戏的五子棋程序,支持后期拓展。
1.3系统简介五子棋是日常生活中闲暇时分娱乐游戏。
但是大家并不一定总是能找到一个博弈对手。
五子棋游戏为人们解决这个问题。
让五子棋爱好者们找到一个永远有空,非常耐心,并且富有挑战的对手。
1.4术语和缩写词分为人机对战和人人对战。
用户 user:直接使用产品或与产品进行交互的个人或团体。
游戏模式:分为有禁手和没有禁手模式,完全按照五子棋规则进行游戏。
游戏棋盘:棋盘中中天元等点没有标出,采用的是近期比赛的五子棋盘。
bhb:五子棋禁手模式。
五子棋有禁手游戏。
详情参寻五子棋规则nbhb:五子棋无禁手模式。
五子棋无禁手游戏。
详情参寻五子棋规则2.测试概述2.1测试范围概述本测试用来测试五子棋程序,包括人机对战有禁手模式和无禁手模式。
以及网络对战功能。
2.2测试范围列表(1)人机对战,任意下子,人先手;(2)人机对战,任意下子,电脑先手;(3)网络对战;(4)小功能使用;2.3测试环境与配置被烧写的linux平板电脑:CPU:arm9内存:1G硬盘: 4G操作系统:linux电脑:ubuntu 系统2.4测试人员与测试时间测试人员:测试时间:2013年5月16日2.5测试版本:五子棋AI 1.0 beta版本BUG处于未知状态,并且数量比较多。
3.测试用例的详细描述黑盒测试:3.1人机对战,任意下子,人先手;3.2人机对战,任意下子,电脑先手3.3网络对战3.31测试网络连接3.32网络对战3.4小功能测试3.5在ubuntu计算机上的测试3.51单机游戏:功能均与使用linux平板电脑相同3.52联网游戏:功能均与使用linux平板电脑相同。
4缺陷分析4.1模块缺陷数量统计4.2缺陷残留重要缺陷:程序位置移动会导致某些功能不正常。
五子棋需求分析报告,1200字

五子棋需求分析报告五子棋需求分析报告一、引言五子棋是一种古老而受欢迎的棋类游戏,它以简单的规则、快节奏的游戏和战略性的决策吸引着玩家。
随着人工智能的发展,越来越多的五子棋程序被开发出来,具备与人类玩家匹敌甚至超越的能力。
本文主要对五子棋应用的需求进行分析与描述,以期为开发者提供一些建议与指导。
二、功能需求1. 棋盘绘制:应用需要能够在界面上绘制出五子棋棋盘,包括横竖交错的网格和围绕棋盘的边框。
2. 棋子落子:应用应能够在棋盘上落下黑子和白子,并根据落子位置实时更新棋盘。
3. 胜负判断:应用需要实时判断胜负,当某一方出现五子连珠时,应宣布该方获胜。
4. 悔棋功能:应用需要提供悔棋功能,允许玩家撤销上一步棋。
5. 重新开始功能:应用需要提供重新开始的功能,允许玩家在该局游戏结束后开始新的一局。
6. 多人对战:应用需要允许多人在同一设备上进行五子棋对战,例如提供两个玩家分别执黑子和白子,并轮流输入落子位置。
7. 人机对战:应用需要为单人提供与电脑进行对战的模式,允许玩家选择执黑子或白子,并提供足够强大的人工智能作为对手。
8. 保存进度:应用需要提供保存进度的功能,允许玩家随时保存当前的游戏进度,以便下次继续进行。
三、性能需求1. 界面流畅:应用的界面要流畅,用户操作时不应出现明显的卡顿或延迟。
2. 响应迅速:应用对用户的操作要及时响应,包括落子、撤销等操作,用户可以在短时间内完成相应操作。
3. 人工智能强大:如果应用提供了人机对战功能,其人工智能应具备一定的水平,能够提供一定的挑战性,充分发挥人工智能的潜力。
4. 存档管理:应用在进行游戏进度保存时,要保证数据的安全性和完整性,确保用户的进度不会丢失或损坏。
四、界面设计1. 棋盘界面:棋盘界面应简洁明了,以免干扰玩家的落子决策,同时要能够清晰地显示玩家的棋子位置和连珠情况。
2. 落子界面:玩家在进行落子操作时,应能够清楚地看到自己的棋子位置,并能够方便地选择落子位置。
五子棋游戏实验报告

五子棋游戏实验报告五子棋游戏实验报告引言:五子棋是一种古老而受欢迎的策略游戏,它不仅能够锻炼思维能力,还能培养耐心和决策能力。
为了进一步了解五子棋游戏对人类思维和决策的影响,我们进行了一项实验。
本实验旨在探究五子棋游戏对玩家的思维策略、决策效率和情绪状态的影响。
实验设计:参与实验的被试共计50人,他们被随机分为两组。
每个被试都需要进行五子棋游戏,其中一组被试在游戏前接受了一段时间的训练,而另一组则没有。
我们通过观察被试的行为和采集数据来分析五子棋游戏对思维和决策的影响。
实验过程:实验开始前,我们向所有被试提供了五子棋游戏的规则和基本策略。
然后,我们对训练组进行了一段时间的训练,让他们熟悉游戏规则和各种常见的战术。
接下来,两组被试开始进行五子棋游戏,每个被试有15分钟的时间来下棋。
实验结果:通过对被试的行为和数据的分析,我们得出了以下结论:1. 思维策略:在游戏中,训练组的被试表现出更加深思熟虑的思维策略。
他们更善于预测对手的下一步,并采取相应的防守或进攻策略。
相比之下,未训练组的被试更加随机地下棋,缺乏长远规划。
2. 决策效率:训练组的被试在游戏中做出决策的速度更快。
他们能够快速分析局势,并做出相应的反应。
而未训练组的被试则需要更多的时间来思考和决策。
3. 情绪状态:我们观察到训练组的被试在游戏过程中更加冷静和放松。
他们能够保持冷静的头脑,不受情绪的干扰。
相比之下,未训练组的被试在面对困难局面时更容易感到紧张和焦虑。
讨论:通过这项实验,我们发现五子棋游戏对思维和决策能力有着积极的影响。
训练组的被试在思考问题和做出决策时表现出更高的效率和准确性。
此外,他们还能够更好地控制情绪,保持冷静。
这些结果表明,五子棋游戏可以作为一种有效的训练工具来提升思维能力和决策能力。
然而,我们也发现这项实验存在一些局限性。
首先,实验样本较小,可能无法完全代表整个人群。
其次,实验时间较短,无法观察到长期训练对思维和决策能力的影响。
五子棋实验报告

五子棋实验报告五子棋实验报告引言:五子棋是一种古老而受欢迎的棋类游戏,它不仅能够锻炼思维能力,还能培养战略思维和判断力。
为了进一步了解五子棋的特点和策略,我们进行了一项实验研究。
实验设计:我们邀请了十位志愿者参与本次实验,他们中的五位是五子棋高手,另外五位则是初学者。
实验分为两个阶段,第一阶段是对高手和初学者之间的对局进行观察和分析,第二阶段是对初学者进行指导并观察他们的进步情况。
实验过程:在第一阶段,我们观察了五位高手之间的对局。
他们的思考时间短,下棋速度快,每一步都经过深思熟虑。
他们善于利用对手的弱点,通过布局和进攻来取得优势。
他们的棋局稳健而有力,很少出现失误。
与此相反,初学者的对局显得更加紧张和激烈。
他们思考的时间较长,下棋的速度较慢。
初学者更注重自己的进攻,而忽略了对手的威胁。
他们常常陷入被动局面,容易被高手击败。
在第二阶段,我们对初学者进行了指导。
我们向他们介绍了一些基本的五子棋策略,并分析了高手的对局特点。
初学者经过指导后,开始注意对手的威胁并学会了更好地布局和进攻。
他们的下棋速度也有所提升,思考的时间也相对减少。
通过与高手的对局,初学者逐渐提高了自己的棋艺,并取得了一些胜利。
实验结果:通过观察和分析,我们得出了一些有趣的结论。
首先,五子棋的策略非常重要。
高手善于观察和分析,能够在短时间内做出正确的决策。
而初学者则需要更多的练习和指导,才能提高自己的棋艺。
其次,思考的时间并不是决定胜负的唯一因素。
虽然高手思考的时间较短,但他们能够快速准确地判断局势,并做出正确的决策。
而初学者则需要更多的时间来思考,但他们在经过指导后也能够提高自己的下棋速度。
结论:通过本次实验,我们深入了解了五子棋的特点和策略。
高手的对局展现了他们的深思熟虑和布局能力,而初学者则通过指导逐渐提高了自己的棋艺。
五子棋不仅仅是一种棋类游戏,更是一种锻炼思维和培养战略思维的好方法。
我们希望通过这次实验的结果,能够鼓励更多的人去学习和享受这个古老而有趣的游戏。
【报告】c五子棋实验报告

【关键字】报告c五子棋实验报告篇一:五子棋对战实验报告实验项目五子棋网络对战和聊天实验日期XX0406实验报告要求:一、实验目的:学习和使用socket编程,熟练软件开发二、实验原理:使用socket进行网络通信,java作为编程语言三、实验要求:编写五子棋程序可以实现联机网络对战,并且可以进行聊天四、实验步骤、结果(程序+注释+截图)及分析:首先拟定编程语言与开发方案,选择java语言,考虑到java可以跨平台运行,然后决定把这个程序拆分为客户端、服务器两个部分,每个部分再分成5个小的部分实现不同功能。
1、然后考虑使用java的swing包,创建ClientChessPanel类负责棋盘部分,包括判断输赢,使用数组chesses[i][j]记录棋盘上棋子的分布,对数组进行不同的赋值表示网格节点上无棋、黑棋、白棋;使用playChessHandler作为鼠标单击事件,单击事件调用Clientskt中的函数传送棋子坐标以及输赢信息。
drawChess函数画棋子,drawGrids画网格,gameOver判断棋盘棋子分布,输赢情况。
importjavax.swing.*;importjava.awt.*;;importChatOneToOneClient.Clientskt;classClientChessPanel extends JPanel{private static final long serialVersionUID = 1L;private int space=20; //网格间的距离private int grids=30; //棋盘的网格数private int radius=space/2; //棋的半径Clientsktskt;//当chesses[i][j]=0,表示网格节点(i,j)上无棋//当chesses[i][j]=1,表示网格节点(i,j)上放白棋//当chesses[i][j]=2,表示网格节点(i,j)上放黑棋privateint[][] chesses=new int[grids+1][grids+1];private intcurrColor=1; //当前棋的颜色privateMouseListenerplayChessHandler=new MouseAdapter(){public void mouseClicked(MouseEvent e){if(skt.reMouseGo()){int x=e.getX();int y=e.getY();//放一颗棋子if(x=0 && y=0)if(chesses[round(x)][round(y)]==0){chesses[round(x)][round(y)]=currColor;repaint(); //刷新图形skt.dataout("x:"+String.valueOf(round(x)));skt.dataout("y:"+String.valueOf(round(y)));skt.setMouseGo(false);if(gameOver(currColor)){skt.dataout("g:你输了");ClientMyDialog(skt.chat,"你赢了");;}currColor=currColor==1?2:1; //切换棋子的颜色}}}};public int round(float a){ //获得接近a的网格节点坐标float f=a/space;returnMath.round(f);}publicClientChessPanel(intspace,intgrids,Clientsktskt){ this.space=space;this.grids=grids;this.radius=space/2;this.skt=skt;setBackground(Color.BLUE);setSize(space*grids,space*grids);addMouseListener(playChessHandler);startChess();}public void startChess(){clearGrids(); //清空棋盘currColor=1;repaint(); //刷新图形private void clearGrids(){for(inti=0;i for(int j=0;j chesses[i][j]=0;}//画一颗棋子private void drawChess(Graphics g,intx,inty,int color){g.setColor(color==1?Color.GREEN:Color.BLACK);g.fillOval(x*space-radius,y*space-radius,radius*2,radius*2);}//画网格private void drawGrids(Graphics g){g.setColor(Color.DARK_GRAY);for(inti=0;i g.drawLine(0,i*space,grids*space,i*space);g.drawLine(i*space,0,i*space,grids*space);}}//接收对方下的棋坐标public void paintChess(intx,int y){if(x=0 && y=0){if(chesses[x][y]==0){chesses[x][y]=currColor;currColor=currColor==1?2:1; //切换棋子的颜色skt.setMouseGo(false);skt.setMouseGo(true);repaint(); //刷新图形}}}//判断游戏是否结束publicbooleangameOver(intgameOver){int five=0;//用于判断是否有连续5个子for(inti=0;i for(int j=0;j if(chesses[i][j]==gameOver){five++;for(in(本文来自:小草范文网:c五子棋实验报告)t k=1;k if(chesses[i][j+k]==gameOver){five++;if(five==5){return true;}else{five=1;k=5;}}for(int k=1;k if(chesses[i+k][j]==gameOver){ five++;if(five==5){return true;}}else{five=1;k=5;}}for(int k=1;k if(chesses[i+k][j+k]==gameOver){ five++;if(five==5){return true;}}else{five=1;k=5;}}for(int k=1;k4;k++){//左斜向比较if(chesses[i+k][j-k]==gameOver){five++;if(five==5){return true;}}else{five=1;}}}}five=0;}return false;}public void paintComponent(Graphics g){ //覆盖paintComponent()方法super.paintComponent(g); //必须先调用父类的方法drawGrids(g); //画网格for(inti=0;i for(int j=0;j if(chesses[i][j]!=0)drawChess(g,i,j,chesses[i][j]); //画棋子}}2、ClientComponentPopupMenu类主要负责聊天的部分,使用JTextField并且对其添加单击事件以及鼠标事件,可以实现文本的剪贴、复制粘贴等功能。
c 五子棋实验报告
c 五子棋实验报告
C五子棋实验报告
引言
五子棋是一种古老的策略游戏,它既考验了玩家的思维能力,又具有很高的娱乐性。
在本次实验中,我们将利用C语言编程,设计一个简单的五子棋游戏,并对其进行实验测试。
实验目的
1. 学习使用C语言进行游戏开发;
2. 设计并实现一个简单的五子棋游戏;
3. 对游戏进行功能测试和性能评估。
实验方法
1. 使用C语言编写五子棋游戏的程序代码;
2. 设计游戏界面和用户交互功能;
3. 实现游戏规则和胜负判定功能;
4. 进行功能测试和性能评估。
实验结果
经过实验,我们成功地设计并实现了一个简单的五子棋游戏。
游戏具有清晰的界面和简单的操作方式,玩家可以轻松上手。
在功能测试中,游戏能够正确判定胜负,且没有出现明显的bug。
在性能评估中,游戏在常见的操作系统上都能够流畅运行,响应速度较快。
实验结论
通过本次实验,我们学习到了使用C语言进行游戏开发的基本方法和技巧。
我
们成功地设计并实现了一个简单的五子棋游戏,并对其进行了功能测试和性能
评估。
实验结果表明,我们的游戏具有良好的稳定性和性能表现,能够满足玩
家的基本需求。
展望
在未来,我们可以进一步完善游戏的功能和界面设计,增加更多的游戏模式和
挑战性。
我们也可以考虑将游戏移植到其他平台上,以提供更广泛的游戏体验。
同时,我们还可以利用更先进的技术和算法,进一步优化游戏的性能和用户体验。
总之,我们将继续努力,不断改进和完善我们的五子棋游戏,为玩家提供
更好的游戏体验。
五子棋需求分析报告
五子棋需求分析报告1. 引言五子棋是一种古老而受欢迎的策略棋类游戏,通常在一个棋盘上进行。
本文旨在通过对五子棋游戏的需求分析,提供一个详细的游戏规则和功能说明,从而为游戏的开发提供指导。
2. 游戏规则五子棋的基本规则如下:1.游戏在一个大小为15×15的棋盘上进行。
2.游戏由两名玩家轮流进行,一方执黑子,另一方执白子。
3.每个玩家在自己的回合中可以在棋盘上的空白位置放置自己的棋子。
4.棋子只能放置在空白位置上,且一旦放置就不能移动。
5.当任意一方在横、竖、斜线上连续放置了五个自己的棋子时,游戏结束,该方获胜。
6.如果棋盘上的所有位置都被棋子填满,且没有任何一方达成五子连线,则游戏以平局结束。
3. 功能需求根据上述游戏规则,我们可以确定五子棋游戏的主要功能需求如下:1.棋盘显示:游戏需要提供一个可视化的棋盘,用于展示当前棋局的状态。
2.落子操作:每个玩家需要能够轮流在棋盘上的空白位置放置自己的棋子。
3.游戏规则检查:每次落子后,游戏需要检查是否有任意一方达成了五子连线,以确定是否游戏结束。
4.胜负判断:游戏需要能够判断游戏结果是胜利还是平局,并展示相应的提示信息。
5.悔棋功能:游戏需要提供悔棋功能,允许玩家在一定的回合内撤销之前的落子操作。
6.重新开始:游戏需要提供重新开始的功能,以便玩家可以在一局游戏结束后重新开始新的一局。
4. 开发计划为了实现上述功能需求,我们可以采用以下步骤进行开发:1.界面设计:设计一个简洁而直观的棋盘界面,用于显示棋局状态和玩家操作。
2.游戏逻辑:实现落子操作和游戏规则检查的逻辑,确保落子符合规则且能正确判断游戏结果。
3.胜负判断:在达成五子连线时,展示获胜提示信息,并设计平局判断的逻辑。
4.悔棋功能:实现悔棋功能,允许玩家在一定的回合内撤销之前的落子操作。
5.重新开始:设计重新开始的功能,允许玩家在一局游戏结束后重新开始新的一局。
5. 总结通过对五子棋游戏的需求分析,我们明确了游戏的规则和功能需求,并提出了相应的开发计划。
五子棋需求分析报告
中国矿业大学应用系统开发实践设计题目:基于VC的五子棋游戏软件的设计与开发指导教师:学生:专业: 计算机科学与技术09-1班2012年5月目录1 引言 (2)2 系统需求分析 (2)2.1系统需求 (2)2.2功能需求 (2)2.3系统运行环境 (2)3 五子棋算法分析 (3)3.1五子棋的发展 (3)3.2五子棋的规则 (3)3.3具体算法分析 (4)3.3.1 棋盘局势状态表示 (4)3.3.2棋盘中下棋的顺序表示 (5)3.3.3具体算法 (5)4 系统流程 (7)5 系统功能实现 (8)5.1窗口设计 (9)5.2棋盘设计 (9)5.3按钮功能的实现 (10)5.4胜负判断 (11)6 系统测试与分析 (13)7 结论 (17)1.引言目前网络上有很多五子棋子游戏,玩法简单,娱乐性也很高。
五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。
通过对五子棋的设计与开发,了解和掌握游戏开发的原理与方法。
让电脑像人脑一样思考,一直是人工智能发展的最终目标。
作为一门边缘学科,它有诸多的研究领域,博弈即为其中之一。
博弈的参加者可以是个人、集体、某种生物或机器,他们都力图用自己的“智力”去击败对手。
博弈为人工智能提供了一个极好的试验场所,人工智能中的许多概念和方法都是从博弈程序中提炼出来的,人工智能中大多以下棋为例来研究博弈规律。
本文以五子棋为入口,设计了一个五子棋双人对战和人机对弈系统,以实现人和人,人和计算机的博弈,最终的目的是为了建立一个有具体规则的五子棋平台。
2.需求分析目前网络上有很多五子棋子游戏,玩法简单,娱乐性也很高。
五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。
通过对五子棋的设计与开发,了解和掌握游戏开发的原理与方法。
让电脑像人脑一样思考,一直是人工智能发展的最终目标。
作为一门边缘学科,它有诸多的研究领域,博弈即为其中之一。
博弈的参加者可以是个人、集体、某种生物或机器,他们都力图用自己的“智力”去击败对手。
c 五子棋实验报告
c 五子棋实验报告五子棋实验报告引言五子棋是一种古老而受欢迎的棋类游戏,它简单易学,却又充满了策略性。
为了更深入地了解五子棋的规则和策略,我们进行了一系列实验,以探索不同因素对游戏结果的影响。
实验一:棋手水平对游戏结果的影响我们邀请了10名棋手参与实验,他们分别具有不同水平的五子棋技能。
实验中,每个棋手与其他9名棋手进行对局,共进行了45局比赛。
结果显示,技术水平较高的棋手在对局中获胜的次数更多,而技术水平较低的棋手则相对较少。
这表明,五子棋是一种需要技巧和经验的游戏,高水平的棋手在对局中具有明显的优势。
实验二:先手与后手的优劣势为了研究先手与后手在五子棋中的优劣势,我们进行了一组对局实验。
实验中,每个棋手与其他棋手进行5局对局,分别执黑先手和白后手。
结果显示,先手方在对局中的获胜率略高于后手方。
这可能是因为先手方在棋局初期可以占据更多的关键位置,从而更容易形成有利的局面。
然而,我们也观察到,随着棋局的发展,后手方有机会通过反击和防守来扭转局势。
实验三:不同开局策略的效果比较为了研究不同开局策略对五子棋结果的影响,我们选择了三种常见的开局策略进行实验比较。
实验中,每个棋手与其他棋手进行5局对局,分别采用三种不同的开局策略。
结果显示,开局策略A相对于策略B和C,在对局中获胜的次数更多。
这可能是因为策略A更加注重中心位置的争夺,从而更容易形成有利的局面。
然而,我们也观察到,策略B和C在特定情况下也能发挥出色,这表明在五子棋中,开局策略的选择应该根据具体情况进行调整。
实验四:不同棋盘大小对游戏结果的影响为了研究不同棋盘大小对五子棋结果的影响,我们进行了一组对局实验。
实验中,每个棋手与其他棋手进行5局对局,分别在15x15、19x19和23x23的棋盘上进行。
结果显示,随着棋盘大小的增加,对局的复杂度也增加了。
在15x15棋盘上,棋手们更容易形成有利的局面,并且获胜的次数相对较多。
而在23x23棋盘上,棋手们更容易出现失误,对局结果更加平均。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
五子棋功能测试分析报告
项目编号:20110905
文档编号:W-2
版本号:1.0
修订记录
目录
一、引言 (3)
1.1编写目的 (3)
1.2项目背景 (3)
1.3考资料 (3)
二、测试概要 (3)
2.1测试方案 (3)
2.2测试安排和进度 (3)
三、测试结果及发现 (4)
3.1 BUG清单 (4)
3.2 BUG分布 (5)
3.3 BUG产生原因 (5)
四、分析摘要 (5)
4.1软件能力 (5)
4.2缺陷和限制 (5)
4.3建议 (6)
4.4测试结论 (6)
一、引言
1.1编写目的
用于指导五子棋黑盒测试中,五子棋游戏的测试和测试用例的编写。
用于相关测试人员阅读。
1.2项目背景
本项目属于小学期实训内容,五子棋代码由老师提供。
1.3考资料
1、《QQ游戏“五子棋”规则说明》
2、《五子棋禁手判定算法》
3、《C++编码规范与指导》
4、《白盒测试技术》
二、测试概要
2.1测试方案
1、测试方法:黑盒测试
2、测试内容:测试“新游戏”“选项”“悔棋”“退出”这几个功能的实现和正确性。
3、测试用例设计方法:基于场景设计测试用例
2.2测试安排和进度
三、测试结果及发现
3.1 BUG清单
3.2 BUG分布
缺少“天元落子”算法:BUG数(3个)
由于算法不当产生的错误:BUG数(4个)
缺少“禁手判定”算法:BUG数(4个)
算法错误:BUG数(7个)
3.3 BUG产生原因
通过测试,我们总结出以下几点:
1、《五子棋》源代码中,没有编写“天元落子”算法。
2、《五子棋》源代码中,没有编写“禁手判定”算法。
3、《五子棋》源代码中,部分算法不太恰当。
4、《五子棋》源代码中,部分算法错误。
四、分析摘要
4.1软件能力
《五子棋》游戏作为个人休闲娱乐基本可以满足客户需求,如果想朝竞技游戏方面发展则需要更多得改进和完善。
4.2缺陷和限制
1、《五子棋》游戏的功能还不完善,需要完善功能。
2、《五子棋》源代码中,没有编写“天元落子”的算法。
这会导致在“人先机后”“两人对弈”模式下进行游戏时,黑棋先手可以不在天元落子,这不符合五子棋的游戏规则。
3、《五子棋》源代码中,没有编写“禁手判定”的算法。
这会导致在“人先机后”“机
先人后”“两人对弈”模式下进行游戏时,黑棋可以走出禁手。
这会增加白棋游戏时难度,影响五子棋游戏的公平性。
4、《五子棋》源代码中,部分算法不太恰当。
这会影响五子棋游戏部分功能的实现。
5、《五子棋》源代码中,部分算法错误。
这会导致五子棋游戏部分功能实现错误,游戏程序崩溃等一系列严重的问题。
严重影响五子棋游戏的娱乐性和实用性。
6、《五子棋》游戏“选项”功能不合理。
在“两人对弈”模式下,居然可以选择AI等级。
这会影响游戏的合理性。
4.3建议
1、为《五子棋》游戏编写更多的功能,完善《五子棋》游戏的功能。
2、给《五子棋》编写“天元落子”算法,保证在任何模式下进行游戏时,黑棋先手都是在天元落下第一个子,符合五子棋游戏的规则。
3、给《五子棋》编写“禁手判定”算法,使《五子棋》具有禁手判定的功能,平衡黑白棋的游戏难度,增加《五子棋》游戏的公平性。
4、修改《五子棋》源代码中不恰当的算法,使《五子棋》游戏的功能实现更合理。
5、修改《五子棋》源代码中错误的算法,使《五子棋》功能实现更正确,不再实现错误的功能,防止游戏程序崩溃的一系列严重问题。
6、修改《五子棋》“选项”功能,保证在“两人对弈”模式下进行游戏时,不再出现AI等级选项。
4.4测试结论
在此次测试结果中:
1、《五子棋》游戏缺少“天元落子”“禁手判定”算法,导致游戏功能不完善。
2、《五子棋》游戏少量算法不恰当。
3、《五子棋》游戏存在大量的算法错误,导致大量的游戏功能错误,严重影响使用。
4、《五子棋》游戏AI等级不明显,导致游戏难度不明显,影响游戏使用。
综上所述:
该《五子棋》游戏存在很大的问题,但是由于针对的使用人群不同,具体情况,还是由一定的客户需求来决定。