- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2048游戏项目需求分析
TOC \o 1-3 \h \u 199 一、项目概述 2
20927 二、需求分析 2
17342 1.游戏开发的趋势和特色 2
4223 2.游戏操作需求 2
3503 3.开发环境 3
18616 三、概要设计 3
10499 四、程序流程图 4
6238 五、详细设计 5
3142 3.颜色如下: 5
21140 4.光标位置等的格式控制 6
8652 5.终端控制 7
29996 六、游戏运行说明 10
422 1.游戏运行流程图 10
11092 七、扩展说明 10
22567 1.扩展功能框图 10
一、项目概述
2048是一款简单小巧的益智类游戏,挑战您的智力极限,借鉴1024和小3传奇游戏开发而成,难度相对有所下降,是一款让您根本停不下来的游戏。
游戏规则:滑动屏幕或者方向键来移动小方块,两个数字一样的小方块相撞时就会相加合成一个方块,每次操作之后会在空白的方格处随机生成一个2或4的方块,最终得到一个2048的方块就算胜利了,
如果16个格子全部填满且无法移动的话GAMEOVER。
二、需求分析
1.游戏开发的趋势和特色
Linux特点就是代码开源。开放的平台使更多的开发者参与到游戏代码的优化和完善当中,一个崭新的游戏也很快走向成熟。
随着计算机技术的不断发展,硬件已经不在是游戏发展的瓶颈。游戏的规划更加向专业化方向发展。
?1.?将向网络化方向发展,随着各平台对无线通信网络、WIFI网络、蓝牙网络的良好支持,游戏将创新出更好的游戏性和用户本验。网络游戏,多人游戏,联机对战等将进一步强化玩家对游戏的粘着度,并且容易通过对道具等的控制产生营利模式。玩家之间对交互能力的需求也会促成未来的游戏向网络化发展进程的加快。
2.将向休闲化、时间片化方向发展,移动设备的随身性使是休闲小游戏将得到快速的发展。移动设备对分散时间的利用促进了游戏向时间片化发展,即一个游戏可以随时开始,随时结束,充分利用用户分散的时间片来运行。
? 所以2048这个休闲益智的手机游戏就应运而生,一经发布就占据各大手机游戏下载的排行榜的前列,这是一款老少皆宜的手机游戏,在空闲时间你可以拿出手机来玩,上班、下班、坐公交、等地铁,你随心随意的快乐玩耍。它简单易上手,只需滑动手指就可以操作,但却有难精通,要打通关卡却不是一件容易的事情
通过C语言控制台仿写这个游戏,可以锻炼编程框架思想以及技巧,同时将所学到的数据结构等知识灵活的运用。?
2.游戏操作需求
1、可使用鼠标或↑、↓、→、←或W、X、A、D键进行操作;
2、ESC 退出游戏
3.开发环境
运行环境:centos6.2
开发环境:vim编辑器
编写语言:c语言
三、概要设计
1、游戏开始时随机的产生2个数值为2/4的方格,其中1个方格置于4个角中的一个位置,
另一个方格随机的置于其它位置,其余方格值为0。
2、每次移动鼠标或按方向键后,逐行计算移动后的方格值。每行移动的算法是:先将所有值为0的数移至行首。能后从行尾开始逐一和前一个数比较,如果相等则合并这2个格子。
3、每合并一次格子,将其值累计到游戏总分中。
4、一次移动结束后,在所有值为0的方格中随机的分配一个2/4的值。
5、所有方格值不为0且上下、左右相邻的方格都不相等,则游戏结束。
6、2出现的概率为90%,4出现的概率为为10%。
四、程序流程图
五、详细设计
1.控制Linux终端打印字符颜色和位置
Linux 终端控制台字体颜色,用到一个 转义序列
\e[F;B;Om
\e 转义字符开始,ESC 的 ASCII 码用十进制表示就是 27,等于用八进制表示的 033。
\e 或 \033 声明了转义序列的开始(经过测试,F、B的顺序可以互换,也可省略)
[ 开始定义颜色。
F 为字体颜色,编号30~37;
B 为背景色,编号40~47。
O 为特殊意义代码
它们的顺序没有关系。
m 是标记
m 后面不用跟空格,是所定义的彩色字和背景
使用方法一:
格式 printf(\033[字体颜色; 字背景颜色m输出字符串\033[0m );
例子:printf(\033[31; 47;1mhello world\033[5m\n);
说明:31是字体的颜色,47是字背景颜色, , hello world是字符串. ,1m表示高亮显示,后面的\033[5m是控制码
使用方法二:
格式: echo -e \033[字体颜色;字背景颜色;1m字符串\033[0m
例子: echo -e \033[36;41;1m something here \033[0m
说明:其中41的位置代表底色, 36的位置是代表字的颜色
\033[
文档评论(0)