魔板游戏策划书学院:软件学院专业:软件工程班级:软工(中兴通)121学生姓名:马泉华-1-目录第一章:项目概述…………………………………………………31.1目的…………………………………………………………………31.2项目背景……………………………………………………………31.3项目的范围与目标…………………………………………………31.3.1范围描述…………………………………………………………31.3.2主要功能…………………………………………………………3(1)概述…………………………………………………………………3(2)项目设计内容……………………………………………………4(1)PuzzleGame.java…………………………………………………4(2)PuzzlePad.java…………………………………………………5(3)Block.java……………………………………………………5(4)Point.java………………………………………………………5(5)HandleImage.java………………………………………………6(6)HandMove.java…………………………………………………6(7)VerifySuccess…………………………………………………6第二章项目估算………………………………………………………………6第三章风险评估………………………………………………………………73.1风险识别……………………………………………………………73.2风险应对策略………………………………………………………7第四章详细设计………………………………………………………………84.1需求分析……………………………………………………………84.1.1用户登录界面……………………………………………………84.1.2设计流程图………………………………………………………94.2系统的详细设计…………………………………………………104.2.1PuzzleGame类…………………………………………………104.2.2PuzzlePad类…………………………………………………134.2.3Black类…………………………………………………………154.2.4Point类…………………………………………………………174.2.5HandImage类……………………………………………………184.2.6HangleMove类…………………………………………………194.2.7VerifySuccess类………………………………………………21第五章项目的实现5.1游戏主类的设计……………………………………………………235.2魔板对象的实现……………………………………………………245.3游戏使用时间的设计……………………………………………265.4游戏成功与否的判断计……………………………………………275.5游戏增加英雄榜功能………………………………………………285.6增加查看英雄榜功能………………………………………………295.7增加背景音乐能……………………………………………………295.8增加登陆界面功能…………………………………………………30-2-第六章软件的配置……………………………………………………………31第七章人员组织……………………………………………………………31第八章附录…………………………………………………………………31第九章结束语………………………………………………………………31-3-第一章:项目概述1.1目的为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作开展的各个过程合理有序,因此以文件化的形式,把对于在项目生命周期内的工作任务范围、各项工作的任务分解、项目团队组织结构、各团队成员的工作责任、团队内外沟通协作方式、开发进度、经费预算、项目内外环境条件、风险对策等内容做出的安排以书面的方式,作为项目团队成员以及项目干系人之间的共识与约定,项目生命周期内的所有项目活动的行动基础,项目团队开展和检查项目工作的依据。利用所学高级语言的语法特性,结合数据结构算法、网络知识、文件处理和数据库等知识完成综合题目的设计和代码实现,并培养锻炼分析程序、撰写报告等能力。1.2项目背景做这个魔板游戏是为了尝试着开发一项软件游戏所做的一个项目,由我们小组共同来完成。Java语言是当今最为流行的程序设计语言之一作为一门非常优秀和极为健壮的编程语言,它同时具有的面向对象,与平台无关,分布式应用,安全,稳定和多线程等优良的特征,使用Java语言,不仅可以开发出功能强大的大型应用程序,而且Java语言本身突出的跨平台的特性也使得它特别适合于Internet上的应用开发,可以这样说,Java的出现使得所开发的应用程序“一次编写,处处可用”的实现成为了可能。近来随着计算机的快速发展,各种各样的电脑游戏层出不穷,使得我们能有更多的娱乐项目,而魔板游戏能起到锻炼人的思维和修身养性的作用,而且魔板游戏水平颇高,我们可以自己选择不同难度的游戏,大有与人脑分庭抗礼之势。1.3项目的范围与目标1.3.1项目的范围魔板游戏作为一种智力小游戏,受到广大中小学生以及一些上班族的喜爱,可以在忙碌的一天之后放松下自己紧绷的精神,同时可也以得到智力的提升。魔板游戏的游戏规则十分简单,却拥有十分广阔选择空间,使得游戏背景图案可以变化多端,比其它游戏复杂深奥。这就是魔板游戏的魅力所在。玩魔板游戏对人脑的智力开发很有帮助,可增强一个人的计算能力、创造能力、思维能力、判断能力,也能提高人的注意力和控制力。玩魔板游戏对儿童少年的智力发展起到积极作用,使他们能更好的分析事物。1.3.2主要功能(1)概述(1)模版由3*3或4*4个格子组成。对于3*3魔板,在前8个格子里随即放置8个编号1~8的方块,最后一个格子是未放置的空格子;对于4*4的魔板,在前15个格子里随机放置15个编号为1~15的方块,最后一个格子是未放置方块的空格子。-4-(2)用鼠标单击任何与空格子水平或垂直相邻的方块可以把该方块移入空子,而当前方块移动之前所在的格子成为空格子。通过不断的移动方块可以将方块一行一行的按数字序号排好。(3)魔板游戏也可以使用图像来代替数字。例如,对于3*3的魔板,将一幅图像分成3*3福小图像,除去最后一幅小图像(图像的右下角),将其余各小图像打乱顺序后放在魔板的方块上,最终目标是通过移动方块恢复原始图像(不包括图像的右下角)。(4)当用户按要求排列好方块后,程序弹出对话框,提示用户成功的消息。(2)项目设计内容在设计魔板游戏时,需要编写7个Java源文件:PuzzleGame.java、PuzzlePad.java、Point.java、Block.java、HandleImage.java、VerifySuccess.java和HandleMove.java。模板游戏除了需要编写上述的7个源程序所给出的类外,还需要Java系统提供的一些重要的类,如JMenuItem、JButton等类。魔板游戏所用到得一些重要的类以及之间的组合关系如下图1所示。图1类之间的组合关系以下是我们编写的6个java源程序的总体设计。(1)PuzzleGame.java(主类)PuzzleGame类负责创建魔板游戏的主窗口,该类含有main方法,程序从该类开始执行。PuzzleGame类成员变量中有4中重要类型的对象:PuzzlePad、JMune、JRadioButton和JButton。PuzzleGame类的主要成员的作用将在后面的PuzzleGameJMunePuzzlePadJRadioButtonJButtobPointBlockHandleMoveImageHandlelMageVerifySuccess-5-详细设计中阐述,PuzzleGame类创建的窗口以及其中的主要成员对象如图2所示。图2PuzzleGame窗口及主要的成员对象(2)PuzzlePad.javaPuzzlePad类创建的对象是PuzzlePad类最重要的成员之一,代表“魔板”。该类的成员变量中有5种重要类型的对象:Point、Block、HandleMove、HandleImage和Image。PuzzlePad类的主要成员的作用将在后面的详细设计中说明阐述。(3)Block.javaBlock类是JTextField的一个子类,创建的对象是PuzzlePad类的重要成员之一,用来表示“魔板”中的方块。(4)Point.javaPoint类负责创建确定位置的对象,使用Point对象可以确定Block对象在-6-PuzzlePad对象之中的位置,即确定“方块”在“魔板”中的位置。(5)HandleImage.javaHandleImage类所创建的对象负责将一幅图像分成诺干个小图像。(6)HandleMove.javaHandleMove类所创建的对象负责处理鼠标事件。(7)VerifySuccessVerifySuccess类所创建的对象负责验证用户是否按要求成功排列模板中的方块。第二章项目估算姓名岗位工资费用工作马泉华组长--------------------整个项目苏鑫组员-------------------项目预算李志强组员-------------------项目概述张琪组员-------------------风险评估由于我们都是学生,这个项目使我们利用课余时间做的,所以成本可以忽略不计。我们估算用两周的时间用于项目的选题、资料等一系列的项目开发前的准备活动,用一周的时间进行项目的估算与及风险评估,用三周的时间进行项目的具体设计、研究、开发,最后一周用于整个项目的测试。所以总共大约用时一个半月的时间来完成它。-7-第三章风险评估3.1风险识别3.2风险应对策略1.强化团队支持,避免独立的项目结构。通过有效的团队建设增进团队之间的项目支持,可以有效地避免一些技术风险。2.改善沟通和问题解决。同时还可以通过改善沟通,加强和改善信息流通来促使一些问题得到合理解决。3.经常性地进行项目监督及项目检查和管理。4.细化WBS,使用网络计划。在项目计划阶段通过细化工作包,采用网络计划等一些比较完善的计划手段编制计划,从而使造成技术风险的根源消除掉,实现降低技术风险的目的。风险概率影响规模估计过低60%严重的交付期限太紧张50%严重的用户需求变化频繁75%严重的技术达不到预期效果30%轻微的质量保证体系的措施实施不利60%严重的软件体系结构设计不合理40%灾难性的-8-第四章详细设计4.1系统的需求分析4.1.1用户登录界面图用户信息输入信息是否合法用户登录到主界面是弹出错误信息否输入登录界面自动跳转验证登录功能结构图-9-4.1.2设计流程图开始魔板游戏开始界面Switch开始游戏计时器计时开始移动方块改变游戏难度完成游戏选初级初级高级重新放置方块改变游戏玩法选择数字玩法数字玩法图像玩法选择一幅新图像选择默认图像确定玩法退出结束是否是否-10-总体功能图4.2系统的详细设计4.2.1PuzzleGame类1、效果图PuzzlePad创建的窗口效果如图5所示。主界面开始选择级别选择图像数字玩法图像玩法初级高级使用一幅新图像使用默认图像-11-(a)PuzzleGame创建的窗口(数字玩法)(b)PuzzleGame创建的窗口(图像玩法)图5PuzzleGame创建的窗口2、UML图MazeWindow类是javax.swing包中JFrame的一个子类,并实现了ActionListener接口,该类的主要成员变量和方法的UML图如图6所示。-12-图6PuzzleGame类的UML图以下是UML图中有关数据和方法的详细说明。1)成员变量puzzlePad是PuzzlePad类声明的对象,用来刻画魔板,是PuzzleGame类中最重要的成员之一bar是JMenuBar创建的菜单条,用来添加菜单。bar被放置在窗口的顶部gradeMenu和cho