C语言课程设计--贪吃蛇游戏.pdf
C语言课程设计--贪吃蛇游戏--第1页
rtf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机
查看。
C语言课程设计报告
题目:贪吃蛇游戏
专业:业:级:班级:号:学号:名:姓名:指导老师:指导老
师:绩:成绩:设计日期:设计日期:
目
录
《C语言课程设计》报告1语言课程设计》题目:题目:贪吃蛇游戏13一
、选题背景4二、设计思路四、程序流程图5五、原程序清单5六、程序运行结
果1112七、设计总结14八、教师评语
一、选题背景
C语言实际上已经成为了中级语言的事实上的标准,如果你从事嵌入式开发、芯
片设计等,C语言是必须懂的基础;在高级语言上,C语言的简练和精确也具备特殊的
优势;VC的强大在Windows平台上其它语言更是难与之相匹敌,在
,C语言也是最终要的语言,Linux的内核也主要是以C语言写的。当然C语言也有缺
点:就是难,容易出错,因为它的数据类型需要精确,而导致不够深入理解的程序员
常容易犯错。通过本学期对C语言的学习,掌握了C语言的基本语法,能编一些小程序
。通过这次实习,结合C++语言,编写了著名的贪吃蛇游戏,目的提高自己的编程水
平。
二、设计思路
程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,
身体每长一节,增加一个矩形块,蛇头用俩节表示。移动时必须从蛇头开始,所以蛇
不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方
向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定
蛇头的位置,而后蛇的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这
时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多
一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画矩形块和覆
盖矩形块。为了便于理解,定义两个结构体:食物与蛇
三、主要问题的解决方法和关键技术
.通过随机函数产生随机数,控制游戏过程食物的出现;.定义键盘操作,控制游
戏过程蛇的移动方向;.画出边界,并判断游戏是否结束;.统计游戏过程蛇吃的食
物数量,计算并输出游戏成绩。
四、程序流程图
五、原程序清单
#include<windows.h>#include<ctime>
clude<queue>usingnamespacestd;#ifndefSN
mp{
friendclassCsnake;intrSign;//横坐标int
//friendboolisDead(constCmp&cmp);Cmp(in
p(){}voidsetPoint(intr,intl){rSign=r
&m)const{returnCmp(rSign-m.rSign,
Cmp&m)const{returnCmp(rSign+m.rSign,
xSize=5;//初始蛇身长度classCsnake{Cmpfirst
ondSign;//蛇颈坐标CmplastSign;//蛇尾坐标Cmpnext
ow;//列数intline;//行数intcount;//蛇身长度vec
akeMap;//整个游戏界面queue<Cmp>snakeBody;//蛇身
ns()const;chargetSymbol(constCmp&c)const
turnsnakeMap[c.lSign][c.rSign];}Csnake(int
(n<20)line=20+2;elseif(n>30)line=30+2;else
}boolisDead(