C语言课程设计报告小熊寻宝

上传人:cn****1 文档编号:401157158 上传时间:2023-04-15 格式:DOC 页数:29 大小:132KB
返回 下载 相关 举报
C语言课程设计报告小熊寻宝_第1页
第1页 / 共29页
C语言课程设计报告小熊寻宝_第2页
第2页 / 共29页
C语言课程设计报告小熊寻宝_第3页
第3页 / 共29页
C语言课程设计报告小熊寻宝_第4页
第4页 / 共29页
C语言课程设计报告小熊寻宝_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《C语言课程设计报告小熊寻宝》由会员分享,可在线阅读,更多相关《C语言课程设计报告小熊寻宝(29页珍藏版)》请在金锄头文库上搜索。

1、小熊寻宝学 号_10072127_姓 名_指导教师_ _2010年12月1需求分析.31.1功能与数据需求.31.2界面需求.41.3开发与运行环境需求.52概要设计.52.1主要数据结构.52.2程序总体结构.63详细设计.64测试.265用户手册.276总结提高.281 需求分析我所做的课程设计是小熊寻宝,是一款可以放松人心情的游戏程序,并且可以锻炼人的反应能力1.1 功能与数据需求基本功能:用户控制小熊,小熊共有三条命,地图上会出现墙和4种随机出现的物品,有三种物品是加分的(分别为1,2,3分),还有一种是障碍物,小熊通过用户按上下左右键在地图范围内移动,根据位置是空白,宝物,围墙,还是

2、障碍物做出相应操作,当生命值为0时Game Over,游戏退出。扩展功能:暂停功能,调节速度功能1.1.1提供图形界面游戏主界面为一封闭的围墙,屏幕右上角显示生命值和分数,围墙为矩形小方块(中间画有横线),初始化小熊,宝物,障碍物的位置,小熊为粉红色实心圆,三种宝物分别为绿色实心圆,黄色实心圆和蓝色实心圆,障碍物为灰色实心圆1.1.2键盘控制游戏及计分机制用上下左右键控制小熊,如果碰到宝物(障碍物),宝物(障碍物)消失,更新分数和生命值,并在其他位置随机产生宝物(障碍物),如果不按任何键,小熊自行在当前方向上移动,当游戏者按有效的方向键后,小熊根据指示进行移动。1.1.3宝物(障碍物)的随机产

3、生利用random()函数定时产生随机数并将随机数缩小到符合场景大小的范围中,以此作为宝物(障碍物)位置的横纵坐标。若随机产生的位置和小熊的身体有冲突,则重新产生1.1.4结束判断如果生命值降为0,则游戏结束,出现Game Over图形界面,随之关闭图形系统1.1.5暂停功能在游戏中,如果玩家按下F1键,则进入暂停模式,若玩家再按一下26个字母的其中一个键,则恢复游戏1.1.6速度调节功能当玩家的得分超过10分时,小熊移动速度会加快一倍,若玩家得分继续超过50分时,小熊移动速度又会加快一倍1.2 界面需求(四号字、黑体)第一个图形界面上方介绍了4种宝物(障碍物)的特征,下方为游戏名称“xiao

4、 xiong xun bao”,背景色为黑色第二个图形界面为游戏界面,小熊的移动区域分为8*8的方格,背景色为黑色,字符颜色为红色,围墙的长度为10个方格的长度第三个图形界面为游戏结束界面,背景色为黑色,中央显示出Game Over字样1.3 开发与运行环境需求TC3.0,运行环境为windows xp2 概要设计2.1 主要数据结构struct FOODint x4;/*4种食物的横坐标*/int y4;/*4种食物的纵坐标*/int flag;/*是否需要出现新食物*/food;/*食物的结构体/struct BEARint x1;/*熊的横坐标*/int y1;/*熊的纵坐标*/int

5、dir;/*熊的方向*/int life;/*熊的生命*/int grade;/*分数*/bear;/*熊的结构体*/2.2 程序总体结构void gameover()/*游戏结束函数*/void dwall()/*画地图函数*/void tishijiemian()/*显示提示界面函数*/void play()/*游戏函数*/3详细设计#include#include#include#include#include#include#include#include#define LEFT 0x4b00#define RIGHT 0x4d00#define UP 0x4800#define DO

6、WN 0x5000#define F1 0x3b00int key;/*接受返回键码的变量*/struct FOODint x4;int y4;int flag;food;struct BEARint x1;int y1;int dir;int life;int grade;bear;char buf100;/*显示字符所需的字符型数组*/char word220=Game Over!;char word320=grade+1;char word420=HP:;char word520=grade:;char word620=grade+2;char word720=grade+3;char

7、word820=grade-1,life-1;char word920=Xiao Xiong Xun Bao;void gameover()settextstyle(0,0,3);/*字符显示模式*/outtextxy(200,200,word2);/*输出字符*/delay(1000);/*延迟1000后退出*/void dwall()int a;setbkcolor(BLACK);/*设置黑色背景色*/setcolor(RED);/*设置红色前景色*/settextstyle(0,0,1);rectangle(0,0,710,510);/*画一个长710,宽510的矩形*/for(a=50

8、;a550;a=a+50)line(a,0,a,500);/*每隔50长度画一个竖线*/for(a=10;a50;a=a+10)line(a,0,a,500);/*每隔10长度画一个竖线*/for(a=50;a500;a=a+50)line(0,a,500,a); /*每隔50长度画一个横线*/for(a=10;a50;a=a+10)line(0,a,500,a); /*每隔10长度画一个横线*/for(a=460;a500;a=a+10) line(a,0,a,500); /*每隔10长度画一个竖线*/for(a=460;a500;a=a+10) line(0,a,500,a); /*每隔1

9、0长度画一个横线*/void tishijiemian()setbkcolor(BLACK);settextstyle(0,0,3);setcolor(RED);setfillstyle(SOLID_FILL,YELLOW);/*用黄色实心填充*/circle(30,30,20);/*画一个圆心(30,30),半径20的圆*/floodfill(31,31,RED);/*将圆填充为黄色*/outtextxy(55,30,word3);/*输出word3的字符*/setfillstyle(SOLID_FILL,BLUE);circle(30,100,20);floodfill(31,101,RE

10、D);outtextxy(55,100,word6);setfillstyle(SOLID_FILL,GREEN);circle(30,170,20);floodfill(31,171,RED);outtextxy(55,170,word7);setfillstyle(SOLID_FILL,DARKGRAY);circle(30,220,20);floodfill(31,221,RED);outtextxy(55,220,word8);settextstyle(0,0,2);outtextxy(120,320,word9);delay(4000);cleardevice();/*将图形全部清空

11、*/void play()int a,b=0,c1,c2,c3,c4,d=1,x=200;char z;dotextcolor(RED);/*将字符颜色设置为红色*/textbackground(BLUE);/*将背景颜色设置为蓝色*/outtextxy(515,15,word4);outtextxy(515,35,word5);bar(530,12,540,22);/*填充一个矩形*/sprintf(buf,%2d,bear.life);/*显示熊的生命*/outtextxy(530,15,buf);bar(560,30,575,40);sprintf(buf,%2d,bear.grade)

12、; /*显示熊的分数*/outtextxy(560,35,buf);for(;b4;b+)/*将四种宝物的坐标随机产生*/dofood.xb= random(400)+26;food.yb=random(400)+26; while(food.xb%25!=0|food.yb%25!=0);/*保证图像出现在格内*/ if(food.xb%50=0) food.xb+=25; if(food.yb%50=0) food.yb+=25; food.flag=3;if(food.flag=3)/*如果宝物数为4个*/ /*将4种宝物显示在屏幕上*/c1=0;setcolor(RED);setfillstyle(SOLID_FILL,YELLOW);circle(food.xc1,food.yc1,20);floo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号