




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高级语言程序设计高级语言程序设计 课程设计报告课程设计报告 题目 题目 高射炮打飞机游戏高射炮打飞机游戏 专业 专业 计算机科学与技术计算机科学与技术 班级 班级 1212 2 2 班 班 姓名 姓名 张晓依张晓依 指导教师 指导教师 孙淮宁孙淮宁 成绩 成绩 计算机与信息工程系计算机与信息工程系 20132013 年年 6 6 月月 2828 日日 学号学号 2012 2013 学年学年 第二学期第二学期 计算机与信息工程系 高级语言程序设计 课程设计报告 目录目录 1 设计内容及要求 1 1 1 设计内容 1 1 2 设计任务及要求 1 2 概要设计 2 2 1 系统的功能简介 2 2 2 总体程序框图 2 3 设计过程或程序代码 3 3 1 各个模块的程序流程图 3 3 2 关键代码加以分析 4 4 设计结果与分析 7 5 小结 8 致谢 9 参考文献 10 附 源程序 11 计算机与信息工程系 高级语言程序设计 课程设计报告 1 1设计内容及要求设计内容及要求 1 1 设计内容 高射炮打飞机游戏 主要根据课程设计要求进行设计 并了解了游戏进 行的流程 该系统功能主要包括以下模块 1 游戏控制函数 用来设置背景以及控制移动 2 设置是否继续游戏函数 当玩家有事暂停时提示询问是否继续 3 输出函数 输出该游戏一切用到的数据 4 子弹移动函数 控制子弹移动来打敌机以获取得分 5 飞机移动函数 利用左右上快捷键移动飞机打敌人 6 设置函数 供玩家选择敌机密度 飞行快慢 游戏界面的大小等数据 7 菜单函数 显示开始界面 1 2 设计任务及要求 主要利用 c 语言函数语句设计开发一个小游戏 可以实现炮弹发射 飞机 移动来打射敌机 继而获得胜利 地面对高空飞过的飞机进行有提前量的射击 显示射击效果并记分 该程序包含了不同的功能 对原来的程序作出了很大的 改进 用到的主要语句有 getche 语句 for 语句 while 语句 printf 语句 switch 语句等等 添加了颜色函数 实现了诸多功能 要求 课程设计是为了让我们对所学知识有进一步的了解和掌握 能运用 所学的 C 语言编写简单算法 简单的 C 程序设计 顺序程序 选择结构程序 循环控制程序 用数组存放数据 并运用各种函数及函数知识来编写一个完整 的符合题目要求的程序 将程序调试出成功的结果 由此提高了我们运用 C 语 言知识的能力 初步了解了软件开发的一般方法和步骤 计算机与信息工程系 高级语言程序设计 课程设计报告 2 2 2 概要设计概要设计 2 1 系统的功能简介 该系统主要功能是通过 c 语言编写一个射击类的打飞机小游戏 可以通过 键盘来进行游戏 操作方法是 a d w 或者 来控制 击 中敌机可获得积分 被敌机撞中死亡一次 每次游戏有 3 次生还机会 游戏结 束后可选择是否重新开始游戏 2 2 总体程序框图 图 2 1 总体程序程序框图 图 2 2 游戏参数函数设计 高射炮打飞机游戏 游 戏 控 制 函 数 设 置 是 否 继 续 输 出 函 数 飞 机 移 动 函 数 设 置 函 数 菜 单 函 数 子 弹 移 动 函 数 设置函数 游 戏 界 面 敌 机 密 度 飞 行 速 度 计算机与信息工程系 高级语言程序设计 课程设计报告 3 3 3 设计过程或程序代码设计过程或程序代码 3 1 各个模块的程序流程图 1 主函数程序流程图及运行界面 a 主函数程序流程图 N S 图 图 3 1 主函数流程图 简单说明 该功能主要给用户显示一个进入界面 告诉用户有哪些功能能 执行 下面是显示给用户的界面 如图 3 2 计算机与信息工程系 高级语言程序设计 课程设计报告 4 b 主函数运行界面 图 3 2 游戏界面设置 3 2 关键代码加以分析 1 游戏控制函数 void run system color 2e 设置背景颜色 int i 0 j 0 scr 21 pl 1 我方飞机初始位置 scr 0 5 3 while death0 scr 21 pl 0 scr 21 pl 1 break case right case d case D if pl width 2 scr 21 pl 0 scr 21 pl 1 break case up case W case w scr 20 pl 2 break case 27 exit 0 break if j density 0 控制生产敌机的速度 j 0 srand time NULL 产生随机数 scr 0 rand width 3 生成随机敌方飞机 计算机与信息工程系 高级语言程序设计 课程设计报告 5 if i speed 0 控制敌机移动速度 相对于子弹移动速度 movepla scr 飞机移动 movebul scr 子弹移动 print scr 绘制游戏画面 本段函数是对整个游戏进行的一个控制 以确保程序能供用户使用 2 设置游戏是否继续 void yn system cls system color 2e printf n printf n printf t t t t GAME OVER n a printf n printf n printf t t 游 戏 结 束 n n n printf t t t 按 y 键继续游戏 n 键退出游戏 y n n printf t t t switch getch 提示是否要继续游戏 case y case Y death 0 score 0 run break case n case N break default exit 0 break 图 3 3 询问设置 计算机与信息工程系 高级语言程序设计 课程设计报告 6 当游戏被暂停时 程序不知道用户的意图 故写此程序来询问是否继续游戏 以防游戏结束销毁了正在进行的游戏 3 子弹移动函数 void movebul int a N int i j for i 0 i 22 i for j 0 j width j if i 0 if a i j 2 if a i 1 j 3 加分 score 1 printf 7 a i j 0 a i 1 j 2 在打飞机游戏中需要瞄准再射击这样才能打中目标 通过这段程序来控制 子弹移动 可以打中更多敌机 获得高分 计算机与信息工程系 高级语言程序设计 课程设计报告 7 4 4 设计结果与分析设计结果与分析 当把程序写好并进行调试时 并不是一帆风顺的 总会遇到很多在调试时 遇到的错误 1 首先在定义函数时 不能输入汉字 否则会程序会显示错误 2 前后定义变量要统一 3 如果要调用添加函数 修改函数 修改函数 查找函数 统计函数等要 在主函数前面进行申明 否则会显示警告 4 对背景颜色设置的时候 当你输入的颜色在内存中不存在时 运行程序 过后 系统会告诉你相应的颜色符号常数及数值 5 如果程序在运行的过程中 对于一个循环语句 如果你返回的值始终是 真的 那么程序将进如死循环 6 对应该有花括弧的复合语句 忘记加花括弧 7 所调用的函数在调用语句之后才定义 而又在调用前未加说明 图 4 1 游戏运行结果图 计算机与信息工程系 高级语言程序设计 课程设计报告 8 5 5 小结小结 通过本次试验 使我对 c 语言有了更深一层次的了解 对 getche 语句 for 语句 while 语句 printf 语句 switch 语句 颜色函数等等的了解及使 用更加详细了一些 明白了这些语句的用法 明确了 c 语言的使用环境 功能 C 语言作为一个基础性编程语言是我们在以后编程中不可或缺的语言 使用率 肯定会进一步增高 掌握了 c 语言就相当于掌握了一门技术 同时 c 语言相对 而言简单一些 更容易理解 自己虽然对这个小游戏进行一部分的改造 但是 我也感觉这只是其中的很很小的一部分 肯定会有更加强大的功能等待着我们 去改善 同时 我也发现了自己很多的不足 需要进一步加强这一方面的学习 明 白了自己的在哪一方面的欠缺 希望可以在以后的学习中更加彻底的弥补自己 的不足 改善这种情况 也希望自己也可很容易的就可以轻松写出一些小游戏代码 我相信我也可 以在以后的学习过程中逐步地掌握它 彻底的掌握它 使它成为自己手中的一 把利剑 计算机与信息工程系 高级语言程序设计 课程设计报告 9 致谢致谢 在这次 C 语言课程设计中 我的老师和同学给了我及大的帮助 特别是我 的指导老师孙淮宁老师 还有我的 C 语言任课老师徐宁老师 在此 我对他们 表示感谢 感谢他们在我面对困难时给了我帮助和支持 也感谢那些给我帮助的 所有同学 计算机与信息工程系 高级语言程序设计 课程设计报告 10 参考文献参考文献 1 谭浩强 C 程序设计 M 清华大学出版社 2005 年 第三版 2 谭浩强 C 程序设计 M 清华大学出版社 1999 年 第二版 3 谭浩强 张基温 唐永炎 C 语言程序设计 M 高等教育出版社 1992 年 计算机与信息工程系 高级语言程序设计 课程设计报告 11 附录 源程序源程序 include include include include define N 35 define up 72 define left 75 define right 77 void run 游戏控制函数 void yn 设置是否继续游戏函数 void print int N 输出函数 void movebul int N 子弹移动函数 void movepla int N 敌机移动函数 void setting void 设置函数 void menu void 菜单函数 int scr 22 N 0 pl 9 width 24 speed 3 density 30 score 0 death 0 全 局变量 界面 我机初始位 界面宽度 敌机速度 敌机密度 得分 死亡 void main menu run void print int a N 输出函数 system cls int i j for i 0 i 22 i a i width 1 4 for j 0 j width j if a i j 0 printf if a i j 1 printf 5 输出我机的符号 if a i j 2 printf 子弹 if a i j 3 printf 3 输出敌机符号 if a i j 4 printf 2 if i 1 右上角显示得分 if i 2 if i 4 计算机与信息工程系 高级语言程序设计 课程设计报告 12 右上角显示死亡次数 if i 9 if i 18 if i 19 if i 20 printf n void movebul int a N int i j for i 0 i 22 i for j 0 j 0 i 从最后一行往上是为了避免把敌机直接冲出数组 for j 0 j switch getche case 1 width 34 break case 2 width 24 break default printf n 错误 请重新选择 n sw 1 while sw do sw 0 printf n 请选择敌机密度 1 大 2 中 3 小 switch getche case 0 density 10 break case 1 density 20 break case 2 density 30 break case 3 density 40 break default printf n 错误 请重新选择 n sw 1 while sw do sw 0 printf n 敌机的飞行速度 1 快 2 中 3 慢 switch getche case 1 speed 2 break case 2 speed 3 break 计算机与信息工程系 高级语言程序设计 课程设计报告 14 case 3 speed 4 break default printf n 错误 请重新选择 n sw 1 while sw for i 0 i 22 i for j 0 j 45 j scr i j 0 scr 21 pl 9 1 printf n 按任意键保存 getch void run system color 2e 设置背景颜色 int i 0 j 0 scr 21 pl 1 我方飞机初始位置 scr 0 5 3 while death0 scr 21 pl 0 scr 21 pl 1 break case right case d case D if pl width 2 scr 21 pl 0 scr 21 pl 1 break case up case W case w scr 20 pl 2 break case 27 exit 0 break if j density 0 控制生产敌机的速度
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁中考一模数学试卷
- 南通二调数学试卷
- 去年保定市统考数学试卷
- 标准厂房生产线布置与规划方案
- 七年级的数学试卷
- 司机疫情防控知识培训课件
- 司机救援知识培训课件
- 化妆品培训基础知识课件
- 叶酸知识科普培训总结课件
- 2025年小学育才面试题及答案
- 食堂火灾应急预案
- 封闭式循环水工厂化养殖项目可行性研究报告模板
- T-HAS 141-2024 合成超硬材料用叶蜡石
- DB33-T 1354.2-2024 产业数据仓 第2部分:数据资源编目规范
- 劳务外包服务投标方案(技术标)
- CNAS-CL36-2012 医学实验室质量和能力认可准则在基因扩增检验领域的应用说明
- JJG 184-2024 液化气体铁路罐车容积检定规程
- 股权转让股东会决议范本
- 合作社和公司合作协议书(2篇)
- 高一政治必修1、必修2基础知识必背资料
- 医药代表大客户管理经验分享
评论
0/150
提交评论