收藏 分销(赏)

C语言游戏开发设计项目说明指导书.doc

上传人:二*** 文档编号:4515129 上传时间:2024-09-26 格式:DOC 页数:14 大小:109KB
下载 相关 举报
C语言游戏开发设计项目说明指导书.doc_第1页
第1页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、2048游戏项目需求分析一、项目概述2二、需求分析21.游戏开发趋势和特色22.游戏操作需求23.开发环境3三、概要设计3四、程序步骤图4五、具体设计53.颜色以下:54.光标位置等格式控制65.终端控制7六、游戏运行说明101.游戏运行步骤图10七、扩展说明101.扩展功效框图10一、项目概述2048是一款简单小巧益智类游戏,挑战您智力极限,借鉴1024和小3传奇游戏开发而成,难度相对有所下降,是一款让您根本停不下来游戏。游戏规则:滑动屏幕或方向键来移动小方块,两个数字一样小方块相撞时就会相加合成一个方块,每次操作以后会在空白方格处随机生成一个2或4方块,最终得到一个2048方块就算胜利了,

2、假如16个格子全部填满且无法移动话GAMEOVER。二、需求分析1.游戏开发趋势和特色Linux特点就是代码开源。开放平台使更多开发者参与到游戏代码优化和完善当中,一个崭新游戏也很快走向成熟。伴随计算机技术不停发展,硬件已经不在是游戏发展瓶颈。游戏计划愈加向专业化方向发展。1.将向网络化方向发展,伴随各平台对无线通信网络、WIFI网络、蓝牙网络良好支持,游戏将创新出愈加好游戏性和用户本验。网络游戏,多人游戏,联机对战等将深入强化玩家对游戏粘着度,而且轻易经过对道具等控制产生营利模式。玩家之间对交互能力需求也会促成未来游戏向网络化发展进程加紧。2.将向休闲化、时间片化方向发展,移动设备随身性使是

3、休闲小游戏将得到快速发展。移动设备对分散时间利用促进了游戏向时间片化发展,即一个游戏能够随时开始,随时结束,充足利用用户分散时间片来运行。 所以2048这个休闲益智手机游戏就应运而生,一经公布就占据各大手机游戏下载排行榜前列,这是一款老少皆宜手机游戏,在空闲时间你能够拿出手机来玩,上班、下班、坐公交、等地铁,你随心随意愉快玩耍。它简单易上手,只需滑动手指就能够操作,但却有难精通,要打通关卡却不是一件轻易事情经过C语言控制台仿写这个游戏,能够锻炼编程框架思想和技巧,同时将所学到数据结构等知识灵活利用。2.游戏操作需求1、可使用鼠标或、或W、X、A、D键进行操作;2、ESC 退出游戏3.开发环境运

4、行环境: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.控

5、制Linux终端打印字符颜色和位置Linux 终端控制台字体颜色,用到一个 转义序列eF;B;Ome 转义字符开始,ESC ASCII 码用十进制表示就是 27,等于用八进制表示 033。e 或 033 申明了转义序列开始(经过测试,F、B次序能够交换,也可省略) 开始定义颜色。 F 为字体颜色,编号3037;B 为背景色,编号4047。O 为特殊意义代码它们次序没相关系。m 是标识m 后面不用跟空格,是所定义彩色字和背景使用方法一:格式 printf(033字体颜色; 字背景颜色m输出字符串0330m );例子:printf(03331; 47;1mhello world0335mn);说明

6、:31是字体颜色,47是字背景颜色, , hello world是字符串. ,1m表示高亮显示,后面0335m是控制码使用方法二:格式: echo -e 033字体颜色;字背景颜色;1m字符串0330m例子: echo -e 03336;41;1m something here 0330m说明:其中41位置代表底色, 36位置是代表字颜色033 ; m 0330m -这些ascii code是对颜色调用始末.2.字体颜色和背景色字背景颜色范围: 40-49 字颜色: 30-39 40: 黑 30: 黑 41:红 31: 红 42:绿 32: 绿 43:黄 33: 黄 44:蓝 34: 蓝 45

7、:紫 35: 紫 46:深绿 36: 深绿 47:白色 37: 白色3.输出特效格式控制(特殊意义码)=ANSI控制码说明=0330m 关闭全部属性0331m 设置高亮度0334m 下划线0335m 闪烁0337m 反显,反白显示0338m 消隐,不可见03330m - 03337m 设置前景色03340m - 03347m 设置背景色033nA 光标上移n行033nB 光标下移n行033nC 光标右移n行033nD 光标左移n行033y;xH设置光标位置0332J 清屏033K 清除从光标到行尾内容033s 保留光标位置033u 恢复光标位置033?25l 隐藏光标033?25h 显示光标4

8、.颜色以下:none = 0330mblack = 0330;30mdark_gray = 0331;30mblue = 0330;34mlight_blue = 0331;34mgreen = 0330;32mlight_green -= 0331;32mcyan = 0330;36mlight_cyan = 0331;36mred = 0330;31mlight_red = 0331;31mpurple = 0330;35mlight_purple = 0331;35mbrown = 0330;33myellow = 0331;33mlight_gray = 0330;37mwhite =

9、 0331;37m5.光标位置等格式控制033nA 光标上移n行 03nB 光标下移n行 033nC 光标右移n行 033nD 光标左移n行 033y;xH设置光标位置 0332J 清屏 033K 清除从光标到行尾内容 033s 保留光标位置 033u 恢复光标位置 033?25l 隐藏光标 33?25h 显示光标代码实例:color.c6.终端控制 struct termiosstruct termios org, new; 终端状态tcgetattr() 获取状态orgSTDIN_FILENO : 终端相关宏memcpy() 内存拷贝函数struct stu a,b;a = b; xxxx

10、xmemcpy(&a, &b, sizeof(struct stu);24 行 , &= 位运算设置终端新状态tcsetattr(new_opts),修改目前状态c=getchar();tcsetattr(old_opts), 恢复之前状态键盘输入-方向键-由三个字符表示:上: 27 91 65下: 27 91 66右: 27 91 67左: 27 91 68终端控制文档说明代码实例 termios_control.c 7. 数据结构、绘图相关数据结构、数据类型定义 相关头文件定义中游戏状态、按键方向、4x4方格数据值(使用二维数据存放)、实施步数、取得分数绘制界面-4x4方格并显示数据值、实

11、施步数、取得分数依据color.c , 打印方格及数值, 代码实例 draw.c draw_box()键盘控制数据方块移动绘制图形、方向控制、更新画面代码实例 draw.c main函数实施步骤step 5 位运算-5 : 原码1000 0101反码 1111 1010补码 1111 10119 :0000 1001-5 & 9 0000 1001 00000011 3 00001100 12 11 1 * 2112 1 * 2213 1 * 23x = 1100 1010 0000 0001 0010 0000 1110 1010 1110 1010 x = (15) | xx |= (15)0100 00001011 11111010 1010x = x & ( 16)x &= (16)step9:合并算法将一维数组转换为二维RIGHT:对每行处理:i=0; i4; i+从右边开始计算,j=3 , 用于从右到左循环移动、合并deep = 3, 用于从右到左存放box_4x4ideep = box_4x4ijdeep = 2merge_line i=0;box20j = boxjbox21j = box4+jbox22j = box8+j参考 merge.c 完整代码 my2048.c 六、游戏运行说明1.游戏运行步骤图七、扩展说明可增加排名、存档和读档等功效1.扩展功效框图

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服