文档详情

C语言课程设计--贪吃蛇游戏.pdf

发布:2024-09-21约1.21万字共6页下载文档
文本预览下载声明

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(

显示全部
相似文档