欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言游戏开发-2048-设计说明书.pdf

    • 资源ID:71721073       资源大小:222.37KB        全文页数:10页
    • 资源格式: PDF        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言游戏开发-2048-设计说明书.pdf

    2048游戏工程需求分析一、工程概述 -2二、需求分析 -21.-游戏开发的趋势和特色-22.-游戏操作需求 -23.-开发环境 -3三、概要设计 -3四、程序流程图 -4五、详细设计 -53.-颜色如下:-64.-光标位置等的格式控制-75.-终端控制 -7六、游戏运行说明 -101.-游戏运行流程图 -10七、扩展说明 -101.-扩展功能框图 -10、工程概述2048 是一款简单小巧的益智类游戏,挑战您的智力极限,借鉴 1024 和小 3 传 奇游戏开发而成,难度相对有所下降,是一款让您根本停不下来的游戏。游戏规那么:滑动屏幕或者方向键来移动小方块,两个数字一样的小方块相撞时 就会相加合成一个方块,每次操作之后会在空白的方格处随机生成一个 2 或 4 的方 块,最终得到一个 2048 的方块就算胜利了,如果 16 个格子全部填满且无法移动的话GAMEOVER、需求分析1.游戏开发的趋势和特色Linux 特点就是代码开源。开放的平台使更多的开发者参与到游戏代码的优化 和完善当中,一个崭新的游戏也很快走向成熟。随着电脑技术的不断开展,硬件已经不在是游戏开展的瓶颈。游戏的规划更加 向专业化方向开展。1.将向网络化方向开展,随着各平台对无线通信网络、WIFI 网络、蓝牙网络 的良好支持,游戏将创新出更好的游戏性和用户本验。网络游戏,多人游戏,联机 对战等将进一步强化玩家对游戏的粘着度,并且容易通过对道具等的控制产生营利 模式。玩家之间对交互能力的需求也会促成未来的游戏向网络化开展进程的加快。2.将向休闲化、时间片化方向开展,移动设备的随身性使是休闲小游戏将得到 快速的开展。移动设备对分散时间的利用促进了游戏向时间片化开展,即一个游戏 可以随时开始,随时结束,充分利用用户分散的时间片来运行。所以 2048 这个休闲益智的 游戏就应运而生,一经发布就占据各大戏下载的排行榜的前列,这是一款老少皆宜的游戏,在空闲时间你可以拿出游来玩,上班、下班、坐公交、等地铁,你随心随意的快乐玩耍。它简单易上手,只 需滑动手指就可以操作,但却有难精通,要打通关卡却不是一件容易的事情 通过 C 语言控制台仿写这个游戏,可以锻炼编程框架思想以及技巧,同时将 所学到的数据结构等知识灵活的运用。2.游戏操作需求1、可使用鼠标或或2、ESC 退出游戏W、X、A、D 键进行操作;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 终端控制台字体颜色,用到一个 转义序列eF;B;Ome 转义字符开始,ESC 的 ASCII 码用十进制表示就是 27,等于用八进制表 示的033。e 或 033 声明了转义序列的开始经过测试,省略 开始定义颜色。F 为字体颜色,编号 3037;B 为背景色,编号 4047。O 为特殊意义代码 它们的顺序没有关系。m 是标记m 后面不用跟空格,是所定义的彩色字和背景使用方法一:F、B 的顺序可以互换,也可格式 printf(033 字体颜色;字背景颜色 m 输出字符串 0330m);例子:printf(03331;47;1mhello world0335mn);说明:31 是字体的颜色,4是字背景颜色,hello world 是字符串.,1m 表示高亮显示,后面的 0335m 是控制码使用方法二:格式:echo-e 033字体颜色;字背景颜色;1m 字符串0330m 例子:echo-e03336;41;1m something here 0330m 说明:其中 41 的位置代表底色,36的位置是代表字的颜色033;m 0330m-这些 ascii code 是对颜色调用的始末2.字体颜色和背景色字背景颜色范围:40-4940:黑41:红42:绿43:黄44:蓝45:紫46:深绿47:白色字颜色:30-3930:黑31:红32:绿33:黄34:蓝35:紫36:深绿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?251 隐藏光标033?25h 显示光标4.颜色如下:noneblackdark_graybluelight_blue=0330m=0330;30m=0331;30m=0330;34m=0331;34mgree n=0330;32mlight_gree n=0331;32m-:cyan=0330;36mlight_cya n=0331;36mredlight_redpurple=0330;31m=0331;31m=0330;35mlight_purple=0331;35m=brow n=0330;33myellowlight_gray=0331;33m=0330;37mwhite=0331;37m5.光标位置等的格式控制033nA光标上移 n 行03nB033nC033nD光标下移 n 行光标右移 n 行光标左移 n 行设置光标位置033y;xH0332J清屏033K去除从光标到行尾的内容033s保存光标位置033u恢复光标位置033?25l隐藏光标33?25h 显示光标代码实例:color.c6.终端控制struct termiosstruct termios org,new;终端的状态 tcgetattr()获取状态 orgSTDIN_FILENO:终端相关宏 memcpy()内存拷贝函数struct stu a,b;a=b;xxxxxmemcpy(&a,&b,sizeof(struct stu);24 行,&=位运算 设置终端新的状态 tcsetattr(new_opts),修改当前状态 c=getchar();tcsetattr(old_opts),恢复之前的状态 键盘输入-方向键-由三个字符表示:上:27 91 6527 91 6627 91 6727 91 68终端控制文档说明代码实例 termios_control.c7.数据结构、绘图相关数据结构、数据类型定义 相关头文件定义中 游戏状态、按键方向、4x4 方格数据值使用二维数据存储、执行步数、获 得分数绘制界面-4x4 方格并显示数据值、执行步数、获得分数根据 color.c,打印方格及数值,代码实例 draw.c draw_box()键盘控制数据方块移动 绘制图形、方向控制、更新画面 代码实例 draw.c main函数执行流程step 5 位运算-5:原码反码补码9:0000 1001-5&90000 100100000011 300001100 1211 1*2A1121*2人213 1*2A3x=1100 10100000 00010010 00001110 1010 1110 1010 x=(15)|xx|=(15)0100 00001011 11111010 1010 x=x&(16)x&=(16)1000 01011111 10101111 1011step9:合并算法将一维数组转换为二维RIGHT:对每行处理:i=0;i4;i+从右边开始计算,j=3,用于从右到左循环移动、合并 deep=3,用于从右到左存储 box_4x4ideep=box_4x4ij deep=2 merge_linei=0;box20j=boxjbox21j=box4+jbox22j=box8+j参考 merge.c 完整代码 my2048.c六、游戏运行说明1游戏运行流程图七、扩展说明可增加排名、存档和读档等功能1扩展功能框图控制台游戏新读的取游存戏档保存存成档绩一一查看纪录步数排名排名分

    注意事项

    本文(C语言游戏开发-2048-设计说明书.pdf)为本站会员(l****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开