题目贪吃蛇游戏
程序预处理模块。
课程名称结构化程序设计课程设计。
院部名称龙蟠学院
专业软件工程
班级 m13软件工程
学生姓名林皞。
学号 1321106028
课程设计地点工科楼a105
课程设计学时 20学时
指导教师吕艳琳
金陵科技学院教务处制。
1)课程设计目的与要求。
目的:在繁忙的工作之余,有很多年轻人会想到通过玩游戏来放松自己,享受生活,以避免自己的神经过于紧张。这款趣味性游戏——贪吃蛇游戏,帮助年轻人消除一天工作的疲劳,带来轻松简单快乐的心情。
要求:1、使用图形函数绘制墙。
2、可选择游戏难度。
3、可以穿墙。
4、达到一定分数升一级。
5、达到一定分数速度加快。
2)课程设计的主要内容。
1、项目名称:贪吃蛇游戏。
2、实验设备及环境:
1、计算机硬件及专用设备。
cpu:intel mmx 233 mhz
内存:128mb
硬盘空间:1.5gb
显卡:4mb显存以上的pci、agp显卡。
声卡:最新的pci声卡。
com-rom:8x以上com-rom
2、软件环境。
windows xp
turbo c 2.0可运行于ibm-pc系列微机,包括xt,at及ibm兼容机。此时要求dos2.
0或更高版本支持,并至少需要560k的rom,可在任何彩、单色80列监视器上运行。支持数学协处理器芯片,也可以进行浮点**,可加快程序的运行。
3、软件功能介绍及结构设计。
功能介绍:玩家可以输入选择的关卡编号(1-9)然后按enter即可进入游戏,用游戏控制方向键上下左右控制蛇的方向,寻找食物,每吃一口就能得到一定的积分而且蛇的身子会越吃越长,蛇身越长玩的难度就越大,可碰墙,但不能碰到蛇身,等达到一定分数,就能过关,然后继续玩下一关。碰到蛇身游戏结束。
4、主要内容和步骤。
gamespeed=100000-400*level-300*level*level;
if(level>9||level<1)
cleardevice();
setcolor(yellow);
settextstyle(0,0,2);
outtextxy(150,200,"level input error");
getch();
level=1;
void draw(void)
cleardevice();清屏*/
setcolor(2);
setlinestyle(solid_line,0,thick_width)
rectangle(45,45,465,325);
*玩游戏具体过程*/
void gameplay(void)
setcolor(5);
setlinestyle(solid_line,0,thick_width);
randomize();
prscore();
while(1)
while(!kbhit())
if(while(
while(
if(setcolor(green);
rectangle(
for(i=>0;i--)
*1,2,3,4表示右,左,上,下四个方向,通过这个控制来移动蛇头*/
switch(
case 1:
case 2:
case 3:
case 4:
for(i=3;i<
if(gameover();
三)遇到的问题及解决办法。
问题:1、源程序中的主要函数不了解不清楚作用(例如:getch())
2、源程序中德主要函数混淆。
解决方法:1、了解getch()函数所在头文件:
函数用途:从控制台读取一个字符。
函数原型:int getch(void)
返回值:读取的字符。
易错点:1.所在头文件是而不是。
2.在使用之前要调用initscr(),结束时要调用endwin()。否则会出现不输入字符这个函数。
也会返回的情况。
3.在不同平台,输入回车,getc
h()将返回不同数值,而getchar()统一返回。
2、通过查找关于c语言的书籍了解源程序的主函数及其用法。
四)软件使用说明书。
玩家可以输入选择的关卡编号(1-9)输入名字然后按enter即可进入游戏,用游戏控制方向键上下左右控制蛇的方向,寻找食物,每吃一口就能得到一定的积分而且蛇的身子会越吃越长,蛇身越长玩的难度就越大,可碰墙,但不能碰到蛇身,等达到一定分数,就能过关,然后继续玩下一关,但速度会加快。直到碰到蛇身游戏结束。
5)课设心得。
这次课程很短只有5周20课时,但我从中学到了很多,有时候同学们会为了一个小小的问题在**讨论半天,有时候同学们会自己摸索未知的程序通过查找资料来读懂程序,我很享受这一过程。因为在上半个学期c语言学的模棱两口,我们在这一过程中巩固了c语言知识同时还学到了书本上没有讲过的函数。
因为所学的知识有限,本组的同学对源程序都一知半解,大家都像没头的苍蝇乱飞,可是当我们确定了自己的任务时,大家都有了自己努力的方向。
这次我们研究的是贪吃蛇游戏,大家压力都很大逆境是第一次做游戏,由于设备的问题我恩没有太多的时间去调试游戏,有很多想法没有能够实现。(比如:食物变成草莓形状、蛇身本身重新的吃了食物之后把食物填充进去)我个人认为我们要做的还有很多,但是我对我们这一组成果很满意了。
因为本组的同学都尽力了。
在做游戏的过程中我们遇到了很多困难,但我们觉得我们很了不起了。因为我们都尽了自己最大的努力了。我们从中获得的经验与感受。
当我们程序做完了调试成功时心里的满足感和优越感都是别人所感受不了的。
俗话说“实践是体验真理的唯一标准。”我们只有将我们所学的知识运用到实践中去才能体现我们所学知识的价值,这样更能体现出效率,才能为社会和国家做出自己的贡献。
6)参考资料及**。
资料:《c语言项目案例分析》
**:7)附录。
#include <>
#include <>
#include <>
#include <>引用的库函数*/
#define left 0x4b00
#define right 0x4d00
#define down 0x5000
#define up 0x4800
#define esc 0x011b/*宏定义键名*/
#define n 200
int i,key;
int level;
int score=0;
int gamespeed;
struct food
int x;
int y;
int yes;
food;struct snake
int x[n];
int y[n];
int node;
int direction;
int life;
snake;
void choicelevle(void);/选择游戏等级*/
void init(void);
void close(void);
void draw(void);
void gameover(void);
void gameplay(void);
void prscore(void);
*主函数*/
void main(void)
init();
choicelevle();选择游戏等级*/
draw();
gameplay();
close();
/*图形驱动*/
void init(void)
int gd=detect,gm;
initgraph(&gd,&gm,"\turboc2");初始化图形系统*/
cleardevice();
*选择游戏等级*/
void choicelevle(void)
char name[20];
setcolor(yellow);
settextstyle(0,0,6);
outtextxy(150,150,"snake");
setcolor(green);
settextstyle(0,0,1);
outtextxy(200,250,"please put in your english name:")
电子课程设计报告封面
西南交通大学。2015年短学期。电子课程设计报告。2015年8月。撰写说明 电子课程设计的报告连同实习日志交给各课程指导老师,不在同一个自然班的组员每人交一份 内容相同 在同一个自然班的同组成员共交一份。使用普通a4纸打印。正文部分用小四号宋体字,英文和数字使用半角字符。封面部分必须保持格式版式大小...
课程设计II 报告封面
题目。学号。姓名。指导教师沈建人 职称讲师 成绩。管理学院。南京邮电大学。课程设计ii指导教师成绩评定表。b131115班同学课程设计注意事项。重要 一 课程设计报告的题目自拟。建议根据自己的兴趣,对自己比较熟悉的信息系统进行建模设计。如 高校学生成绩管理系统设计 大学生个人消费理财信息系统设计 大...
课程设计报告封面及报告要求
课程设计。题目。课程名。二级学院。专业。学生姓名。学号。指导教师 杨永超职称 学位 助教 硕士 完成时间 201 6 年 6月日 池州学院数学与计算机学院制。一 需求分析 在该部分中根据设计题目的要求,充分地分析和理解问题,叙述系统的功能要求,明确问题要求做什么?以及限制条件是什么?1问题描述 2基...