软件项目管理 第四周作业—项目技术指标(招标文件)
项目编号:xxxxxxx
项目名称:Web2048
采购人:202031101533 林瑜 202031101425 陈驰
采购单位:西南民族大学
时间:2022.10.7
招标文件
一、立项依据
1.项目背景
1.1 2048的故事
2014年Gabriele Cirulli利用周末的时间写2048这个游戏的程序,仅仅只是好玩而已。他想用一种不同的视觉展现效果和更快速的动画来创造属于自己的游戏版本。
在制作2048的过程中,他决定把项目托管到Github 上去,并且通过Github完成项目。完成了这个游戏之后,通过GithubPages发布,并发表在DesignerNews上。
1.2 2048的操作指南
每次可以选择上下左右其中一个方向去滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢外,系统也会在空白的地方乱数出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。不断的叠加最终拼凑出2048这个数字就算成功。
2. 2048的评价
这个游戏包含了周易的博大思想,所谓一生二二生三三生万物,就是这个道理。相同数字可以相加,包含了物以类聚人以群分的社团思想,这小小十六格子,就象征了资源的有限性,而每次随机出现的数字2或者4就是新生事物,或者说是机遇,或者说是不稳定因素,如何妥善安排这些资源则是能否长久发展的关键。就像地球就这么大,但是社会要往前发展,技术的革新,意识形态的发展,社会组织形式的进步,所有的一切都不是凭空出现的,都是需要一定的社会积累,就是所谓的物质和科技的积累。并且,关键的是,这样的积累必须是规则有序的,体现在现实社会中就是,个体必须服从约束。总共16格子,如果混乱无序,容纳不了多少数据就会相互堵塞,当再也容纳不了一个新数字的诞生,也就代表了这个游戏的结束。
二、项目内容
本项目属于游戏2048代码的重现,是对简单游戏开发的体验。
其更多的目的在于,通过这个简单项目,初步窥探到游戏开发的门路,了解游戏逻辑的的编写思路,同时对java前端的知识体系进行一些复习。更多的其实是拓展作为开发者的我们的思路吧,以及进一步了解软件或者说游戏开发的流程。
三、项目需求
1.总体规划
本项目应致力于重现web版2048。了解,并且在其中应用java前端知识,并在原2048的基础上,添加部分内容以润色。
2.项目目标
成功使用现有知识和现有工具,重现web版2048,其中需要:
完成基本游戏逻辑
完成棋盘,完成格子
实现格子的变色,至少要有部分动画效果
实现监听
优化得分系统
3.运行环境
使用Web,故应该实现:基本浏览器都能打开该游戏
技术:java css html Javascript JQuery
架构:
index.html:主页
2048.css:样式
jquery.js
support.js:游戏逻辑
animation.js:游戏动画
main.js:主逻辑
game.js:交互式逻辑
4.具体功能需求
1.游戏流程

2.具体
游戏主页面构建
标题构建
游戏主体构建
游戏初始化
棋盘格,数字格初始化
数字网格随机生成逻辑
初始化基础逻辑
初始化动画逻辑
游戏逻辑
捕获键盘事件
完成移动逻辑
完成游戏基础逻辑
游戏动画逻辑
游戏优化
移动条件一:
目标格子应该为空
目标格子与当前格子之间所有格子都为空
移动条件二:
目标格子的值等于当前格子的值
目标格子与当前格子之间的格子都为空
5.其他需求
及时对键盘事件进行监听,确保能够监听到事件,以及适配wsad移动事件
游戏结束判定优化,提升2048的上限,并不在2048就结束游戏
游戏运行流畅性:基本游戏运行流畅
