项目三 JavaScript记忆翻牌游戏开发方案.docx
《项目三 JavaScript记忆翻牌游戏开发方案.docx》由会员分享,可在线阅读,更多相关《项目三 JavaScript记忆翻牌游戏开发方案.docx(17页珍藏版)》请在冰豆网上搜索。
![项目三 JavaScript记忆翻牌游戏开发方案.docx](https://file1.bdocx.com/fileroot1/2023-2/6/6e408c4f-5607-4e5e-8f02-6f8483aacf54/6e408c4f-5607-4e5e-8f02-6f8483aacf541.gif)
项目三JavaScript记忆翻牌游戏开发方案
项目三
JavaScript记忆翻牌游戏开发方案
2012年5月
《动态网页制作》课程组提供
ﻬ项目三 JavaScript记忆翻牌游戏开发
目前中国网页游戏用户规模急剧增加,玩网页游戏的人群主要分布为上班白领和学生群体。
网页游戏提供的轻量级娱乐,占时间少,操作简单,打开浏览器就可以开始游戏,给忙碌紧张的上班族一丝难得的轻松快意。
考虑到学生对记忆翻牌游戏比较熟悉和感兴趣,为满足市场游戏玩家需求,决定开发一套记忆翻牌休闲小游戏。
本章通过利用JavaScript客户端脚本语言进行记忆翻牌游戏的项目开发。
3.1项目准备
每个项目阶段通常都规定了一系列工作任务,设定这些工作任务使得管理控制能达到既定的水平。
本项目准备阶段主要工作任务是了解项目背景、进行调研、组织活动(报告会、交流会、项目队伍培训)等,为建立富有思想力和执行力的项目组织和项目启动做准备。
本项目中的队伍培训主要是让参与项目开发人员掌握基于JavaScript记忆翻牌游戏开发的知识基础、关键技术并提高开发能力。
在培训互动过程中,强化项目开发人员的信心。
3.2项目分析
项目分析是项目开发工作中最重要的一环。
项目分析是根据本项目开发背景,对市场上同类产品及客户需求进行分析和深入研究,明确项目所要解决的问题是什么,从而建立项目目标和产品目标,寻找未来的设计方向。
本阶段的主要组织活动可采取市场调研、分析讨论等形式。
3.2.1项目背景
目前一些有趣的电脑游戏已经成为人们在使用计算机进行工作或学习之余休闲娱乐的首选。
通过调研分析,学生对网页休闲小游戏比较熟悉和感兴趣,结合现有学生的知识基础,决定以学习JavaScript客户端脚本编程技术为切入点,开发一款记忆翻牌休闲小游戏,以满足市场游戏玩家需求。
3.2.2需求分析
记忆翻牌游戏作为大众娱乐软件,其用户界面往往是决定软件质量的首要条件,所以界面设计是开发与设计的重点。
记忆翻牌游戏界面采用图片为操作对象,实现在一定时间内消除游戏区中的所有图片。
通过与一些游戏玩家的接触与沟通,要求本游戏具有以下功能:
(1)要求游戏应具有良好的人机界面。
(2)玩家可以根据自己的需要自行设定游戏难度。
(3)操作方面易于控制。
(4)每次游戏开始前进行洗牌。
(5)游戏玩家可以看到游戏完成时间和成功比率。
(6)以浏览器为操作环境,不需要安装其它软件。
3.2.3 项目计划书
根据《GB8567-88计算机软件产品开发文件编制指南》中的项目开发计划要求,结合本项目实际情况,编制项目开发计划书如下:
1.引言
(1)编写目的
为了保证项目开发人员按时保质地完成预定目标,更好地了解项目实际情况,按照合理的顺序开展工作,现以书面的形式将项目开发生命周期中的项目任务范围、项目团队组织结构、团队成员的工作责任、团队内外沟通协作方式、开发进度、检查项目工作等内容描述出来,作为项目相关人员之间的共识和约定、项目生命周期内的所有项目活动的行动基础。
(2)背景
记忆翻牌游戏是由教师指导下学生自主开发的益智小游戏,主要功能是为游戏玩家提供休闲娱乐服务。
项目周期为20天。
项目背景规划如表3.1所示。
表3.1项目背景规划
项目名称
项目开发组织
任务提出者
项目承担部门
记忆翻牌游戏
第××开发小组
XX经理
市场部门
开发部门
测试部门
2.概述
(1)项目目标
项目目标应当符合SMART原则,把项目要完成的工作用清晰的语言描述出来。
记忆翻牌游戏开发的项目目标如下:
本游戏开发主要针对游戏玩家。
为游戏玩家提供休闲娱乐服务。
项目实施后,通过玩本游戏能够为游戏玩家带来快乐并具有测试记忆能力的目的。
整个项目需要在20天的时间内交付用户使用。
(2)产品目标
记忆翻牌游戏能够为玩家提供良好的运行环境,不需要进行游戏安装,具有浏览器即可运行。
操作简便、易于控制并具有显示时间和成功率的功能,为游戏玩家带来身心怡悦,该游戏是使用XHTML标记语言和JavaScript脚本语言进行编写的网页文件。
(3)应交付成果
在项目开发完后,交付内容有记忆翻牌游戏网页文件及相关开发文档。
(4)项目开发环境
操作系统为WindowsXP,使用集成开发工具AdobeDreamweaver CS5,项目运行环境为当前主流浏览器。
(5)项目验收方式与依据
项目验收分为内部验收和外部验收两种方式。
在项目开发完成后,首先进行内部验收,由测试人员根据用户需求和项目目标进行验收。
项目在通过内部验收后,交给客户进行验收,验收的主要依据为项目分析说明书、设计说明书及功能实现,程序达到预期的运行效果。
3.项目团队组织
(1)组织结构
为了完成记忆翻牌游戏的项目开发,组建了一个临时的项目团队,由经理(教师)、项目经理(学生)、系统分析员、软件工程师、Web程序员和测试人员构成如图3.1所示。
图3.1项目团队组织结构
(2)人员分工
为了明确项目团队中每个人的任务分工,现制定人员分工表如表3.2所示。
表3.2 人员分工
姓名
技术水平
所属部门
角色
工作描述
李某某
MBA
经理部
副经理
负责项目的审批、决策的实施
周某某
中级软件工程师
开发部
项目经理
负责项目的前期分析、策划、项目开发进度的跟踪、项目质量的检查
刘某某
中级系统分析员
市场部
系统分析员
负责系统功能分析
王某某
中级软件工程师
开发部
软件工程师
负责软件设计与编码
李某某
中级Web程序员
设计部
Web程序员
负责网页设计与编码
郑某某
中级系统测试工程师
开发部
测试人员
对软件进行测试、编写软件测试文档
3.3项目设计
项目设计阶段的主要工作任务是在项目分析阶段的基础上,经过设计人员的研讨,产生对设计目标的概念,形成可视化设计方案(草图)。
可视化设计方案(草图)的产生,可以帮助设计者解释其对设计目标的设计看法,也是设计团队间最佳的沟通介质。
本阶段的主要阶段成果为项目设计方案(说明书)。
本阶段的组织活动可采取项目设计报告会、设计大赛等形式来激励设计者设计出更好的作品。
3.3.1设计目标
根据需求分析的描述以及与一些游戏玩家的沟通,记忆翻牌游戏应设计成一个能够运行于普通个人电脑上,并且适合于大众娱乐需要的网页游戏,现制定游戏实现如下目标。
(1)能够查看游戏完成时间和消去图片对的成功率。
(2)根据操作情况的需要自行设定游戏难度。
(3)玩家可以在游戏图板中消除图片,并能够在匹配成功过程中随时了解完成的时间。
(4)玩家可以通过游戏控制功能来选择“重新开始”或者“退出游戏”。
(5)最大限度地实现易操作性和交互性。
3.3.2业务流程图
该游戏为玩家提供一个可设定的游戏区,游戏区中包含一定数目的图片(牌),游戏的目标是在一定时间内消除游戏区中的图片。
如果消去全部图块,游戏将提示成功完成任务。
游戏操作流程图如图3.2所示。
图3.2游戏操作流程图
3.3.3 游戏功能结构
根据记忆翻牌游戏的特点,将游戏分为游戏控制区和游戏区。
在游戏控制区,玩家可以通过游戏控制功能来选择难度(图块的数目、图块种类)、能够在匹配成功过程中随时了解完成的时间、重新开始游戏或者退出游戏,以满足不同级别玩家的需要。
在游戏区,玩家可以在游戏区中进行翻牌和消除图片。
具体功能分为难度设置、牌的生成、选择和消除元素、时间显示、成功率计算、重新开始等,如图3.3所示。
图3.3功能结构
3.3.4游戏预览
根据项目需求分析,用户界面设计主要分为游戏控制区和游戏区两个工作区。
游戏控制区主要放置Logo、图板大小设置、难度参数、操作按钮、时间显示等。
游戏区主要放置生成的图片(牌)。
设计效果如图3.4所示。
ﻩ
ﻩ(a)牌正面(b)牌背面
图3.4记忆翻牌游戏界面效果图
3.3.5对象及其编码规则
基于对象化的程序设计,首先,就应该确立出开发项目的对象,其次,确定对象的属性、方法和事件。
根据项目需求分析,本项目确立了主要的HTML对象为body、div、ul、h1、p、img、form、input等,具体内容如表3.3所示。
表3.3主要HTML对象
主要HTML对象
属性或事件
描述
body
id、class等
body对象
div
id、name、class、align、style等
层对象
ul
id、class
无序列表
h1
id、class
一级标题
p
id、class
段落标记
img
src等
img对象
form
id、name、method、action、class等
表单对象
input
id、name、onblur、type、value等
输入域
根据项目需求分析,本项目还确立了JavaScript对象为根对象g、控制对象g.Con、牌对象g.Card和游戏主程序startGame( ),具体内容如表3.4~3.7所示。
表3.4 g对象属性或方法——命名空间
属性或方法
描述
备注
newpic_width:
120
图片宽
属性
imgpath:
"images01/"
图片路径
属性
pairs:
[[,],[,],...]
图片的二维数组表示
属性
deck:
[]
图片对象的一维数组表示
属性
p:
[null,{},{}]
用于单击元素的存储
属性
firstpick:
nul
第一次单击状态
属性
matched:
false
成功匹配标志
属性
表3.5控制对象g.Con的属性或方法
属性或方法
描述
备注
mount:
0
成功匹配数
属性
clicknum:
0
单击牌的总数
属性
tid:
0
时间状态
属性
starttime()
启动时间
方法
caltime()
计算匹配时间
方法
表3.6牌对象g.Card的属性或方法
属性或方法
描述
备注
makeCard()
制牌
方法
shuffle()
洗牌
方法
dealback()
发牌显示牌背
方法
Choose()
点选事件
方法
表3.7 游戏启动主程序
名称
描述
备注
startGame()
游戏启动主程序
主程序
本项目中所有的对象名称都为自然名称的拼音简写或英文简写,出现冲突可采用不同的简写规则。
编程提示:
变量名称及重要的代码要写出详细的注释,这样有利于系统的开发与维护。
3.3.6构建开发环境
(1)游戏开发环境:
WindowsXP、IE和AdobeDreamweaver开发环境。
(2)游戏开发语言:
XHTML、JavaScript。
(3)开发环境运行平台:
Windows操作系统。
(4)浏览器:
当前主流浏览器。
(5)分辨率:
最佳效果1024×768像素。
3.4 项目制作
项目制作阶段主要工作任务是在项目设计基础上,根据设计方案进行网页制作、程序开发、测试及文档编写。
具体设计工作有界面设计、交互设计、程序开发、文档编写等。
程序开发中的编码工作任务比较繁重,不仅仅需要考虑性能和功能的实现,而且需要考虑今后的维护和扩展,还需要考虑到系统的集成和稳定,因此程序开发需要遵照严格规范(文档规范、编程规范)的开发过程。
本阶段的测试工作自始自终地贯穿着项目开发过程。
本阶段的主要阶段成果为网页、程序代码和使用说明文档。
本阶段的组织活动可采取文档规范和编程规范培训(或专题讲座)、项目制作协调会等形式,来保证制作出高质量的作品。
3.4.1进行记忆翻牌游戏网页界面设计
界面设计本着美观实用,面向大众的原则。
充分考虑界面易于操作的系统需求,分为两个主要分区。
上方为游戏控制区,主要包括初始化信息和时间显示内容。
玩家可以通过游戏控制功能来选择难度系数、开始新一轮游戏(洗牌)或者退出游戏,放于页面最上方。
根据需求分析结论,游戏时间显示应该放在明显的地方,选择放于上方的游戏控制区。
下方为游戏区,是游戏主体界面,使用简单直观的布局设计,游戏区放置在界面的正中主体位置。
3.4.2 进行记忆翻牌游戏的功能模块设计
根据项目设计方案(说明书)中记忆翻牌游戏的基本功能需求,进行功能模块设计。
1.确定本项目对象树并创建根对象(命名空间)
为了避免出现命名冲突,为了模块以及代码组织清晰的需要,将功能相似或同一模块中的函数、变量放在同一对象(命名空间)下。
本项目引入了根对象或叫命名空间的概念,声明命名空间就是创建一个对象的层级关系。
命名空间的格式是以点号分隔的字符串。
(1)确定对象树
本项目根据其功能的划分,需要建立一个根对象(命名空间)、两个子对象(子命名空间)和一个游戏主程序。
分别命名为g、g.Con、g.Card和startGame(),从而形成本项目的对象树,如图3.13所示。
(2)创建根对象
创建根对象就是建立llk对象并为其添加属性和方法。
2.游戏控制区功能模块设计
游戏控制区功能模块设计主要是完成控制对象g.Con的创建。
3.游戏区功能模块设计
玩家可以在游戏区通过鼠标操作消除图片,游戏区功能模块设计主要是完成g子空间g.Card牌对象的创建。
4.游戏主控程序
应用程序开发通常要根据不同的功能划分成多个子功能模块(或对象)。
主控程序的作用是对游戏进程和用户操作流程进行控制。
首先,主控程序进行用户输入处理,其次,分情况调用相应的子功能模块。
最后,完成应用程序操作。
3.4.3记忆翻牌游戏代码整合及部署
代码整合及部署工作主要包括以下几方面。
(1)由于过多的js脚本文件会增加计算机系统的负担,并且不便于管理及维护,因此将各功能模块程序代码进行整理并合并成一个库文件(memorygame.js)。
在主页文件index.html的
将主控程序startGame()作为“重新开始”按钮事件进行绑定。
(2)记忆翻牌游戏应用程序的部署就是将整合后的记忆翻牌游戏应用程序(网站)安装到目标系统上,并设置相应的环境使应用程序在目标系统可以正常运行的过程。
首先,安装好记忆翻牌游戏的运行环境Windows操作系统和当前主流浏览器。
其次,建立一个网站文件夹,将memorygame.js脚本文件放于网站的script文件夹下,用户界面文件作为主页文件index.html,放于网站根下,网页图片放在网站的images文件夹下,牌的图片放在images01下方便以后维护与管理,具体部署如图3.5所示。
最后,进行记忆翻牌游戏应用程序测试。
图3.5记忆翻牌游戏应用程序部署
3.5项目总结
项目总结阶段的主要工作任务是对开发项目的工作过程和项目产品进行总体检查和评价,进行一次具体的分析和研究。
也就是看看取得了哪些成绩,存在哪些缺点和不足,有什么经验、哪些方面有所提高。
项目总结也是形成产品闭环的关键一步。
本阶段的主要阶段成果为总结报告。
本阶段的组织活动可以采取产品开发成果汇报、成果展示、经验交流等形式,来累积项目及产品开发工作经验。
3.5.1项目总结
根据《GB8567-88计算机软件产品开发文件编制指南》中的项目开发总结要求,结合本项目实际情况,编制项目开发总结报告如下:
1.引言
(1)编写目的
记忆翻牌游戏的开发已经基本完成。
写此项目开发总结报告,以方便我们在以后的项目开发中来更好的实施项目的订制开发;让我们在今后的项目开发中有更多的有据的资料来规范我们的开发过程和提高我们的开发效率,从而创造更多效益。
预期的读者对象为班级全体成员、指导教师及评委。
(2)背景
项目名称:
记忆翻牌游戏。
软件名称:
记忆翻牌游戏。
客户:
学生。
用户:
游戏玩家。
(3)定义
(略)
(4)参考资料
[1]某某.记忆翻牌游戏开发项目计划书,2012
[2] 某某.记忆翻牌游戏需求分析报告,2012
[3]某某.记忆翻牌游戏项目设计说明书,2012
[4]孙文江,陈义辉主编.PHP应用程序开发.北京:
中国人民大学出版社,2012
2.实际开发结果
(1)产品
最终产品名称:
记忆翻牌游戏。
产品版本:
1.2。
(2)主要功能和性能
主要功能:
难度设置、界面生成、消除元素、时间限制、奖励时间、重新设置。
性能:
达到了90%的原定的开发计划,个别功能未能实现,比如,由于时间关系统难度选择没有完成。
(3)基本流程
(略)
(4)进度
实际进度基本与计划进度相吻合,在截止日期之前顺利完成。
主要原因是我们严格按照项目开发流程来开发软件,不断调整我们的短期计划,顺利完成了任务。
同时要感谢指导老师适时的指导,揭开了组员们的不少疑惑。
(5)费用
工时:
4人,10天左右,大约40人天。
计算机的使用时间:
超过160人机时。
物料消耗:
无。
没有经费计划,实际消耗为零,不予讨论。
3.开发工作评价
(1)对生产效率的评价
代码总行数约为300行。
程序的平均生产效率=300行/40人=7.5行/人天。
文件的平均生产效率=13KB/40人=0.325KB/人天。
(2)对产品质量的评价
在测试中一共检察出2个错误,错误发生率约为6.7(=2/300*1000)错误/千行。
应该说是一个比较低的数值。
这与项目组成员在编码中严格控制质量有一定关系。
(3)对技术方法的评价
在调试过程中采用了一种特别的调试方法,即在程序中加入大量alert("调试点")并以外部变量来判断是否激活,可以迅速找出网页中的错误所在。
在开发工作中我们运用AdobeDreamweaver编辑软件,提高了我们的开发效率和准确度。
(4)出错原因的分析
(略)
4.经验与教训
本次项目的开发,本项目小组接触了先进的客户端脚本JavaScript语言,可以说其功能的强大出乎我们预料。
通过这次项目开发,组员熟悉了JavaScript语言的编程技巧和需要特别注意的要点。
本次开发过程中我们感触最深的就是利用JavaScript语言进行网页游戏开发。
我们得出以下结论:
(1)掌握好基于对象编程技术是编写网页游戏一项基本技术,要把界面做好,不仅要技术过硬,还必须能体察用户的思想流程。
(2)我们还发现要把程序做到高效,使用函数封装技术是不二选择,我们这次的程序在这点上做的相当成功,今后在做到需要效率优先的项目时,我们会优先采用函数封装技术。
(3)严格按照规范来指导我们的开发过程,增长了不少经验,同时也体会到了项目开发的重要性。
(4)项目组成员的团结合作、相互沟通是非常重要的,组员通过相互学习彼此的优点和技术,提高了团队的开发能力。
通过这次开发,本项目组成员不仅增长了知识,还增进了组员之间的友谊,收获颇丰。
延伸阅读:
项目管理知识——客户与用户
客户是指提供资金、确定需求并拥有项目开发出的产品、服务或成果的组织(或个人);用户则是使用项目开发出的产品、服务或成果的组织(或个人)。
3.5.2项目验收
项目验收是核查项目计划规定范围内各项工作或活动是否已经全部完成,可交付成果是否令人满意,并将核查结果记录在验收文件中的一系列活动。
项目验收的重点是对项目的工作成果进行审查并进行评价。
本项目验收评价指标如下,满分为100分。
本项目评价分数:
1.资源使用情况(10分)
资源使用情况
(10分)
充分(100%)
基本充分(80%)
较少使用(60%)
基本没有使用(20%)
2.技术和质量指标完成情况(50分)
技术指标完成情况
(25分)
较好完成(100%)
基本完成(80%)
有一些差距(60%)
差距较大(20%)
质量标准完成情况*
(25分)
较好完成(100%)
基本完成(80%)
有一些差距(60%)
差距较大(20%)
3.相关开发文档完成情况(20分)
相关开发文档完成情况*
(20分)
较好完成(100%)
基本完成(80%)
有一些差距(60%)
差距较大(20%)
4.项目总体目标完成情况(20分)
项目阶段成果实现情况
(10分)
较好完成(100%)
基本完成(80%)
有一些差距(60%)
差距较大(20%)
项目创新内容情况
(5分)
较好完成(100%)
基本完成(80%)
有一些差距(60%)
差距较大(20%)
说明:
请在相应栏目内划“√”,如果栏目内分值不能反映实际情况,可自行填写认为合理的分值。
在含有“*”的栏目内,如果项目中无相应内容,可不填此栏评价分值,其分值并入本项指标第一栏目。