C语言贪吃蛇实验报告
C语言程序设计报告
题目:贪吃蛇游戏的程序设计 院系:西语学院 英语教育6班 姓名: 学号:
1.1 题目:
设计贪吃蛇小游戏
1.2 题目的要求:
玩家通过键盘控制蛇在地图上寻找食物,蛇吃下食物,可以加分,碰到四壁游戏结束。
1.3 设计的步骤:
? 分析设计题目的要求,即需求分析。
? 总体设计,确定所需模块及模块间调用关系,定义系统中使用的数据类型。 ? 详细设计,确定每个模块的功能,绘制主要函数的流程图。
? 编写程序代码,调试程序使其能正确运行。要求书写规范,注意采用缩进格式。函数
名、变量名要见文晓意,注释要简而不失、详而不缀。设计完成的软件要便于操作和使用。
? 程序测试,发现程序中存在的错误并改正。
? 完成报告。
2 详细设计说明
2.1 课程设计的要求:
通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。
? 收集资料,分析课题,分解问题,形成总体设计思路;
? 对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具
体介绍;
? 上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能
正常运行;
1
? 完成课程设计报告。
2.2 程序的功能:
贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。
2.3 课程设计的思想:
程序关键在于表示蛇的图形及蛇的移动。用一个小圆点来表示蛇的一节身体,身体每长一节,增加一个圆点,蛇头用四节来表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,如果按与蛇运动方向相反的方向键,此游戏就会暂停,再按想前的方向键才能继续游戏,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画一个圆点和覆盖原来的圆点。为了便于理解,定义两个结构体:食物与蛇。
2.4 设计程序中的调试过程
在调试过程中,遇到了很多的问题,比如,因为使用的刷屏函数,所以屏幕经常出现闪烁的情况,但是通过我和我的伙伴们的共同努力和学习,通过网上和书籍的查阅,我们也得到了很多的收获,我们的小组也在中真正的学会了很多的东西,这次实训给我们带来了很大的收获。可以按照程序运行的错误提示对原程序进行修改,在调试过程中有时也会遇到不懂的问题,我去图书馆或上网查阅一些资料或者是向老师请教也解决了对源程序一一修改直到运行成功。
2.5 设计的流程图
总程序设计图如图1所示:
2
欢迎词和游戏的基本操作说明 开始游戏 初试化界面和 方向键控制蛇 Y 的运动方向 随机放置食物 蛇身 是否吃到食 N N 物 Y 蛇变长,并总分加10分 是否碰壁或结尾 Y 游戏结束, 是否继续
N 退出游戏 图1 程序设计流程图
方向键控制的设计流程图如图2所示:其中upmove函数控制蛇向上运动,downmove函
3
数控制蛇向下运动,leftmove函数控制蛇向左运动,rightmove函数控制蛇向右运动。 开始游戏
按方向键按方向键按方向键按方向键
的下键 的左键 的右键 的上键
则使用函数则使用函数则使用函数则使用函数
upmove(snake)downmove(snake)leftmove(snake)rightmove(snake) 蛇向上运动 蛇向下运动 蛇向左运动 蛇向右运动 通过方向键控制 蛇身去吃食物
图2 方向键控制方向键控制的设计流程图
蛇吃食物蛇身变长的设计流程图如图3所示:
开始游戏
通过控制部分
控制蛇运动
N 是否能吃
到食物
Y
通过使用函数:
booljudgeGO(int(*sna)[17])
Count++ 使 score=(count-3)*10
10 蛇身加长 使总分加 分
图3 蛇吃食物蛇身变长的设计流程图
4
2.6 程序的总体设计思想
? 利用人工绘图法,制作美观的游戏界面.
? 通过随机函数产生随机数,控制游戏过程食物的出现. ? 定义键盘操作,控制游戏过程蛇的移动方向.
? 画出边界,并判断游戏是否结束.
统计游戏过程蛇吃的食物数量,计算并输出游戏成绩.
3 软件的使用说明
3.1 建立游戏的过程说明
先打开 Microssft Visual C++ 程序,进入Microssft Visual C++ 程序后打开文件菜单,点机新键命令按钮,先建立一个Win32 Console Application工程,建立工程时可填写工程名称和你所建工成要存放的位置,点机确定按钮,再点机一个空工程类型的控制台程序,再点机完成,然后点机确定按钮,此时一个所要建立的工程就已经建立好,然后再点机文件中的新建按钮,然后再建立一个C++ Source File 文件,并填写文 …… 此处隐藏:2929字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [建筑文档]2018年公需课:专业技术人员创新能力与
- [建筑文档]2013年福建教师招考小学数学历年真题
- [建筑文档]高中信息技术课flash知识点总结 - 图文
- [建筑文档]电工实训 - 图文
- [建筑文档]最高院公告案例分析100篇(民商篇)
- [建筑文档]南开中学高2017级14-15学年(上)期末
- [建筑文档]五粮液集团战略分析
- [建筑文档]鲁教版(2012秋季版)九年级化学 酸碱
- [建筑文档]超星尔雅2017中国哲学概论自整理题库答
- [建筑文档]关于成为海口金盘饮料公司材料独家供货
- [建筑文档]LNG学习资料第一册 基础知识 - 图文
- [建筑文档]四年级品社下册《好大一个家》复习资料
- [建筑文档]现阶段领导权力腐败的特点及发展趋势
- [建筑文档]魏晋南北朝诗歌鉴赏—嵇康
- [建筑文档]坚持追求真爱是理智的行为 正方一辩稿
- [建筑文档]湘西州刑释解教人员帮教安置工作存在的
- [建筑文档]园林工程试题库及答案
- [建筑文档]计算机长期没有向WSUS报告状态
- [建筑文档]日语最新流行语
- [建筑文档]B62-016 景观进场交底专题会议
- 2018年中考语文课内外古诗词鉴赏专题复
- 高考试题研究心得体会
- C语言基础题及答案
- 电气控制及PLC习题及答案
- 都昌小学家长学校汇报材料
- GMAT作文模板正确使用方法
- 俄军办坦克大赛:中国99式有望与豹2A6
- 成本会计练习题
- 酒店餐饮业最流行的5S管理方法
- 2014-2015学年山东省菏泽市高二(下)
- 《黄鹤楼送孟浩然之广陵》教案、说课、
- 2013年结构化学自测题 有答案版
- 2011西安世界园艺博览会游览解说词(附
- 窗口文明单位示范单位创建活动总结
- 2018满分超星尔雅就业课后练习期末答案
- 韶山市城市总体规划-基础资料
- 苏教版第三单元知识点归纳
- 第4章 曲轴模态分析
- 加大查办案件力度的思考
- 武汉CPC导轨介绍




