




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
院 系: 计算机科学技术学院 班 级: 组 长 : 学 号: 指导教师: 2017 年 3 月 2 日 C 语言 基础课程设计 贪贪 吃吃 蛇蛇 游游 戏戏 系系 统统 I 程序设计基础课程设计任务书 一、题目: 贪吃蛇游戏系统 二、设计要求 ( 1) 自己 组成课程设计小组 。 ( 2)查阅相关资料,自学具体课题中涉及到的新知识。 ( 3)采用结构化、模块化程序设计方法设计,功能要完善,界面 美观。 ( 4)所设计的系统应有菜单、动画 。 ( 5)按要求写出课程设计报告,并于设计结束后 1 周内提交。其主要内容包括:封皮、课程设计任务书, 指导教师评语与成绩、 目录、概述、 软件需求分析、 总体设计、详细设计、 程序 的调试 与测试 、总结、 结束语 、 程序清单(带中文注释) 、参考文献 等 。 课程设计 报告一律用 打印, 并严格按照课程设计指导书中规定的毕业设计报告的撰写规范进行排版装订。 三、课程设计工作量 由于是设计小组团结协作完成设计任务,一般每人的程序量在 200 行有效程序行 以上 , 必须有创新(如自己编的简单动画和音乐), 不 得抄袭。 四、课程设计工作计划 2017 年 2 月 25 前,指导教师讲课; 2017 年 2 月 26 日,设计小组进行总体方案设计和任务分工; 2017 年 2 月 27 日,每人完成自己承担的程序模块并通过独立编译; 2017 年 2 月 28 日 3 月 1 日,分模块集体解决核心问题; 2017 年 3 月 2 日,将各模块集成为一个完整的系统,并录入足够的数据进行调试运行,数据必须存储到磁盘文件中,以备验收; 2017 年 3 月 2 日,撰写课程设计报告。 2017 年 3 月 3 日, 进行课程设计验收。 指导教师签章: 教研室主任签章 序设计基础课程设计指导教师评语与成绩 指导教师评语: 课程设计表现成绩: 课程设计验收成绩: 课程设计报告成绩: 课程设计 总成绩: 指导教师签章 2017 年 6 月 日 录 一 . 概 述 . 1 究的背景及意义 . 1 程设计的目的 . 1 程设计的要求 . 2 程设计的任务和涉及的知识点 . 2 二需求分析 . 4 能需求 . 4 作方法(键盘操作) . 4 三 . 总体方案设计 . 5 块划分: . 5 体框图: . 5 四 . 程序的调试与运行结果说明 . 6 形初始化失败 . 6 他问题 . 6 五详细设计 . 7 要模块界面 . 7 程序代码 . 8 六 . 结论 . 20 七 . 结束语 . 21 八 . 22 1 一 . 概 述 本课程设计以软件工程方法为指导,采用了结构化,模块化得课程设计方法,以 C+技术为基础,使用 主要工具,总体设计,详细设计,最终完成系统的实现与测试。 究的背景及意义 随着社会的发展,人们交友范围越加广泛,越来越多的人迫切的需要一种可以存储联系人信息的工具。因此设计一 款随时查询联系人信息的软件成了很多人以及商家们的需要。 此次课程设计完成的通讯录管理系统,正是为了满足上诉需求设计出来的,希望能给人们带来便利。 C+是国际上广泛流行的,很有发展前途的计算机高级语言。他适合作为系统秒速语言,既可用来编写系统软件,也可以用来编写应用软件。 对于计算机专业和相关学科的学生来说 ,“课程设计基础”是一门非常重要的专业基础课程,对其学习好坏,直接关系到后续课程的学习效果。 C+是一种面向过程的高级语言。要学好 C+,不但要掌握 C+的语法,更重要的是要掌握使用 C+进行结构化、模 块化程序设计的方法。有了较好的 C+基础,就可以进一步学好面向对象的程序设计语言和可视的编程语言如 C#等。对于面向对象的程序设计,当设计到具体实现部分的时候,也就是编写一个对象中具体的方法(即外部服务函数)时,必然要使用结构化得程序来实现。可见,结构化、模块化程序设计的方法是必然要学习的,而 C+是结构化程序设计思想中比较经典的语言,不可不学好。学习结构化、模块化程序设计的思想和方法,可以掌握设计解决一个问题的过程,即如何对问题进行分解,划分成各个功能模块,每个模块如何分步骤实施,通过什么样 的一个流程图控制可以实现该模块的功能,这也是学习这门课程的中心内容。 程设计的目的 1. 使学生更深入地理解和掌握该课程中的有关基本概念,程序设计的思想、技术和方法。 2. 培养学生综合运用所学知识独立完成课题的能力。 3. 培养学生勇于探索、严谨推理、实事求是、有过必改,用实践来检验理论,全方位考虑问题等科学人员应具有的须素质。 4. 提高学生对工作认真负责、一丝不苟,对同学友爱团结,协作攻关的基本素质。 5. 培养学生从资料文献、科学实验中获得新知识的能力,提高学生从别人经验 2 中找到解决问题的新途径的悟性,初步培养工程意识和创 新能力。 6. 对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。 程设计的要求 为实现上述目的 ,提出以下具体要求 : 1. 以学生自由组织成课程设计游戏开发小组 ,可由指导教师确定每组的人数 ,建议每组为 3 个人左右 ,并选 1 人担任组长 2. 每组选择课程设计中的一个题目 ,即开发一个所选课题的 软件系统 ,每组独立完成 。 3. 该系统要有主菜单 ,动画与音乐,且游戏功能上尽可能模拟操作系统中的贪吃蛇 游戏,系统界面尽量美观 。 4. 进一步 掌握 C+集成开发环境 5. 熟练掌握 C+的数据类型,三种基本结构,模块化设计,指针,结构体,文件,链表等知识点。 6. 丛书或互联网上查阅相关资料,自学具体课题中涉及到的知识。 7. 采用结构化,模块化程序设计方法进行设计,功能要完善,界面要美观,应具有一定创新。 8 软件开发小组组长带领本小组成员团结协作,共同完成课题的设计任务。要求开发小组中每个组员都有自己独立的设计的若干模块,每个人设计的有效源代码应在 200 行以上,同时要读懂其他组员完成的内容。 程设计的 任务和涉及的知识点 ( 1)通过编写“贪吃蛇游戏”程序,掌握结构化、模块化程序设计的思想,培养解决实际问题的能力。 ( 2)设计数组元素与蛇、食物的对应关系。 ( 3)随机产生食物。 ( 4)有分数统计、排行榜、分数存储等功能。 ( 5)有同步播放的动画、声音效果。 2. 课程设计中涉及的知识点 ( 1)数组的应用 。 ( 2)全局变量的应用 。 3 ( 3)按键处理 。 ( 4)结构体的应用 。 ( 5)图形 、音乐和动画的有关知识 。 ( 6)随机函数的使用 。 ( 7)文件的基本操作 。 ( 8)结构化 、模块化的设计方法 。 4 二需求分析 贪吃蛇是大众化的游戏,游 戏简单容易上手,但确能给玩家放松心情,身心得到娱乐,从而能更好地投入到学习或工作中。现代人,无乱是工作的,或是学生都面临的巨大压力,而这一款简单的游戏能让每个人随时随地上手,令不少玩家对它爱不释手。 对于繁忙的现代人,玩大型游戏是浪费时间,然而这样的小游戏,不仅可以随时随地娱乐,对硬件要求很低,可以不夸张地说,只要你有数码产品,都可以玩。而且在为人们节省不少宝贵的时间的同时,达到了身心娱乐的目的。 能需求 进入游戏前,可以观看选择观看小组成员的动画。按任意键进入游戏。蛇在一个封闭的墙内移动,遇 到食物后,蛇身加长,分数上升。要是碰到墙壁或者是 蛇 自己,即游戏结束。当分数上升到一定,蛇速度加快。 作方法 (键盘操作) ( 1)进入游戏: 回车键 。 ( 2)游戏操作:在游戏中,通过键盘上下左右控制蛇的方向。 5 三 . 总体方案设计 特点:为方便操作,加入了 口令登录、 动画音乐、 数据维护和 系统帮助 。 算法的整体思路:随机产生食物 ,按相应的键执行相应的功能。 块划分 : (一) 游戏动画 (二) 游戏菜单 : (三)游戏过程 : (四 )退出: 体框图: 图 1 软件总体模块结构图 贪吃蛇游戏系统 游戏选项 开始游戏 看动画 退出游戏 6 四 . 程序的调试与运行结果说明 形初始化失败 预期效果:进入动画能观看所画图形。 实际运行效果:编译成功,但无法进入动画。 图 4 图形初始化失败 错误分析:未 指定显卡驱动位置。 修改:将显卡驱动文件 制到动画源程序目录下。 修改后程序运行 效果 与预期效果 一致 。如图 5 所示。 图 5 动画 他问题 比如全局变量重命名、函数重复声明或未声明和主函数重定义等问题。 如: 图 10 重定义主函数 7 五详细设计 要模块界面 戏动画 菜单界面 戏界面 8 助界面 戏结束界面 程序代码 #x,y);/移动 oc();/游戏开始 ;/创建地图 ;/初始化 ;/游戏开始 ;/判断是否和自身相撞 ();/判断食物是否和自身 9 ;/制造食物 ;/是否穿墙 ;/蛇的移动 ();/游戏结束 $n); $_$_$ $n); $_$_$ $ $ $n); $_$ $ $ $n); $_$_$ $ $ $n); $ $ $_$_$ $ $ $ $n); $ $ $ $ $_$_$ $ $ $ $ $n); $ $ $ $ $_$ $ $ $ $ $n); $ $ $ $_$_$ $ $ $ $ $n); $ $ $ $ $ $_$_$ $ $ $ $ $n); $ $ $ $ $_$ $ $ $ $ $ $n); $ $ $ $ $ $_$_$ $ $ $ $ $n); $ $ $ $_$_$ $ $ $ $ $n); $ $ $_$_$ $ $ $ $n); $ $_$_$ $ $ $ $n); $_$_$ $ $n); $_$_$n); $_$ 按回车进入游戏 n); $_$_$n); $_$_$_$n); $_$_$_$n); $_$_$_$_$_$_$n); $_$_$_$_$_$_$n); $_$_$_$_$_$_$n); $_$_$_$_$_$_$_$n); $_$_$_$_$_$n); $_$_$_$_$_$_$n); $_$_$_$_$_$_$_$_$n); 10 $_$_$_$_$_$n); $_$_$_$_$_$n); $_ _$_$_$n); $_$_$n); $_$n); $n); b); x,y; ; ; =0,Y=0; ; ; ; R; 0; x,y; ; p; i,j; oc(x, y) x,y; /调用 里的函数 坐标转换 ( 11 x, y) x, y; ( /光标定位 /游戏开始时蛇的位置 ,2); p=(;/将 P 指向一个新分配的 指针地址 是链表() p-x=9; p-y=2; x, y); 0,4,;/下面 开始右移的初始位置, 表左右方向 0; 8,18); 王慧 ); 13) 经 典小游戏 ); 超级宇宙无敌无边框贪吃蛇 按 开始游戏 ); ); if(&30|2&2;y=2; ; 13 x=y=y; 00; ; ; ; R; 0; ); 0,3); 每吃一个 ); 0,4); 蛇会加速 ); 8,13); 控制键 : ); ) ; if(0) ; &D&U) U; &U&D) D; &R&L) L; &L&R) R; ; 0,7); 14 1 得分 : %3d, 0,10); 速度 : % if(x=x&y=y) ; x, y)/判断生命 if(x=x&y=y)/如果有任何一个蛇身坐标与蛇头重合 ,蛇即死亡 ; ; if(x&y) ; 2,8); ; 15 if(0) %53+2; %23+1; if(=1) ; ; ; p)/是否穿墙 if(p-x=69) ; if(p-x=1) ; if(p-y=1) ; if(p-y=27) ; U:X=0;Y=-1;D:X=0;Y=1;L:X=0; 16 R:X=2;Y=0; X; Y; x, if(x+X; y=y+Y; 17 x,(y); ); x=y=; 1; ; 00&y); if( ); ); ; 18 if(2) ; =; ; 2,9);); =0) 0+1); ; ; 8,13); 按 退出 ); 0,15); 按任意键重来 .); x; x=; -x ); c); ; ) ; 19 ; 00); ; ; ; ; ; ) if() ; if(!=27) 5,24); ; 20 六 . 结论 本程序基本达到了任务书上的要求。并且在 游戏 中增加生命值 和 选择难度 。 程序特点: 游戏 界面美观 ,在要求的基础上做了创新 。 困难:由于刚开始学习 C+对一些知识理解的还不透彻,还不能应用自如,特别在有些地方编程时需要用到一些课本上没接触过的函数, 很难编出我们需要的正确程序,而且不能将各种不同的程序相互联系在一起 。 编译连接时,时常出现 重定义、图形初始化失败 等问题。 解决途径: 查阅指导书关于 C 库函数的使用, 同学间的交流,网上查询, 以及所学的关于函数知识和编程,参照以上的资料,依依解决问题,最终,在多次程序调试中,完成了此次课程设计。 不足之处: 未能准确 画出蛇头、蛇身、蛇尾和食物 ,只用了一些简单的心形 和方块代替了蛇与食物 , 登录 界面不美观,以及未添加游戏背景音乐( 音效。 设想: 画出惟妙惟肖的蛇与食物,美化 登录 界面,添加 音效。 21 七 . 结束语 一周的课程设计很快就过去了,刚开始我 一点也摸不着头绪,通过去图书馆或上网查资料对此课程才有了初步得了解,并开始试着利用所学的知识进行编程。但由于自己的水平有限,考虑问题不十分全面,完成的程序仍存在一些不足之处,希望老师给予指正。通过这次课程设计,不仅使我的 C+有可很大的提高 ,同时,设计中涉及到了许
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届春季中国融通集团校园招聘考前自测高频考点模拟试题及答案详解1套
- 2025年宁波市中医院公开招聘派遣制护士20人考前自测高频考点模拟试题含答案详解
- 2025广西仙城投资发展集团有限公司第一次招聘人员考前自测高频考点模拟试题附答案详解
- 2025广东广州市榄核咨询服务有限公司招聘1人笔试历年参考题库附带答案详解
- 贵州国企招聘2025六枝特区区属国有企业选聘市场化职业经理人笔试历年参考题库附带答案详解
- 浙江国企招聘2025温州平阳县国润控股有限公司公开招聘项目制专技人员9人笔试历年参考题库附带答案详解
- 2025黑龙江省水利水电集团有限公司总部机关及财务共享分中心员工岗位竞聘10人笔试历年参考题库附带答案详解
- 2025陕西建工控股集团有限公司校园招聘启动笔试历年参考题库附带答案详解
- 2025年金华东阳市人民医院招聘编外人员8人模拟试卷及1套参考答案详解
- 2025国网物资有限公司第二批高校毕业生录用人选的考前自测高频考点模拟试题及完整答案详解一套
- 2025年镇江市中考英语试题卷(含答案)
- 航海船舶因应气象预报方案
- 铝合金介绍教学课件
- 电气班组安全教育培训课件
- 《2025同上一堂思政课》观后感10篇
- SY4201.2-2019石油天然气建设工程施工质量验收规范设备安装塔类检验批表格
- 电机的工作原理课件
- 设计质量意识培训课件
- 2025年四川省高考化学试卷真题(含答案解析)
- 2025年新玩家股东招募协议书
- 食品安全知识培训会议记录范文
评论
0/150
提交评论