池塘夜降彩色雨代码数据结构优质课程设计

上传人:ni****g 文档编号:551648347 上传时间:2022-10-15 格式:DOCX 页数:22 大小:15.78KB
返回 下载 相关 举报
池塘夜降彩色雨代码数据结构优质课程设计_第1页
第1页 / 共22页
池塘夜降彩色雨代码数据结构优质课程设计_第2页
第2页 / 共22页
池塘夜降彩色雨代码数据结构优质课程设计_第3页
第3页 / 共22页
池塘夜降彩色雨代码数据结构优质课程设计_第4页
第4页 / 共22页
池塘夜降彩色雨代码数据结构优质课程设计_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《池塘夜降彩色雨代码数据结构优质课程设计》由会员分享,可在线阅读,更多相关《池塘夜降彩色雨代码数据结构优质课程设计(22页珍藏版)》请在金锄头文库上搜索。

1、/*包涵到头文献*/#include #include #include #include #include #include #include /*宏定义*/*键盘控制 键盘扫描码*/#define LEFT 0x4b00#define RIGHT 0x4d00#define DOWN 0x5000#define UP 0x4800#define ESC 0x011b#define L_SHEFT 0x01#define SPACE 0x3920#define LOWERF 0x2166#define UPPERF 0x2146#define LOWERA 0x1e61#define UPP

2、ERA 0x1e41#define LOWERQ 0x1071#define UPPERQ 0x1051#define ENTER 0x1c0d#define ONE 0x4f31#define TWO 0x5032#define THREE 0x5133#define FOUR 0x4b34#define FIVE 0x4c35#define SIX 0x4d36#define SEVEN 0x4737#define EIGHT 0x4838#define NINE 0x4939#define O 0x5230#define PLUS 0x4e2b#define JIAN 0x4a2d /*

3、全局变量*/int rain_Num;int rain_v;int rain_wind;int rain_len;int key;int big;int m;int curx;int cury;int thunder62=10,20,-10,0,10,20,-25,-25,15,0,0,-15;/*定义构造*/struct rainDrop *head;/*雨滴 雨圈 雷电数据 构造体链表*/struct rainDrop int startX,curX,startY,curY; int flag; int endX; int endY; int rainColor; int status;

4、int flagR; int curR; int thunderX1,thunderX2,thunderY1,thunderY2; int a,b; struct rainDrop *next;/*初始化画布*/*参数void*/*return无*/void initgraphics(void) int gmode,gdriver; gdriver=DETECT; initgraph(&gdriver,&gmode,);/*创立初始化头结点*/*返回指针p*/struct rainDrop *creatDrop(void) struct rainDrop *p; p=(struct rainD

5、rop *)malloc(sizeof(struct rainDrop); p-startX=random(640); p-startY=random(430); p-flag=430+rand()%50; p-curX=p-startX-(rain_wind*5); p-curY=p-startY+rain_len; p-rainColor=random(15); p-status=0; p-flagR=random(10); p-curR=random(2); p-thunderX1=random(300); p-thunderY1=random(20); p-next=NULL; ret

6、urn(p);/*重新生成链表数据*/void recreatDrop(struct rainDrop *p) p-startX=random(640); p-startY=random(430); p-flag=430+rand()%50; p-curX=p-startX-(rain_wind*5); p-curY=p-startY+rain_len; p-rainColor=random(15); p-status=0; p-flagR=random(10); p-curR=random(3);/*创立整个链表*/void creatRain(void) struct rainDrop *

7、p1,*p2;/*定义两个指针*/ int i; p1=p2=creatDrop(); head=p1;/*赋值头指针*/ for(i=0;inext=p2; p1=p2; /*生成下一种雨滴旳 坐标位置*/void updateRainLineData(struct rainDrop *p)if(big=2)/*加速为2个雨滴距离下落*/ p-startX=p-curX; p-startY=p-curY; p-curX=p-startX-(rain_wind*5); p-curY=p-startY+rain_len; p-startX=p-curX; p-startY=p-curY; p-c

8、urX=p-startX-(rain_wind*5); p-curY=p-startY+rain_len; p-startX=p-curX; p-startY=p-curY;if(big=1)/*加速为一种雨滴旳距离下落*/ p-startX=p-curX; p-startY=p-curY; p-curX=p-startX-(rain_wind*5); p-curY=p-startY+rain_len; p-startX=p-curX; p-startY=p-curY;else /*正常速度下落*/p-startX=p-curX; p-startY=p-curY;p-curX=p-startX

9、-(rain_wind*5); p-curY=p-startY+rain_len;/*雨雪选择函数*/selectWinter() m=1;selectSumm() m=6;/*分屏函数*/splitScreen(struct rainDrop *p)curx=p-curX/200;cury=p-curY/110;switch(curx) case 0: switch(cury) case 0: case 1:selectSumm();break; case 2:selectWinter();break; case 3:selectSumm();break; break; case 1: sw

10、itch(cury) case 0: case 1:selectWinter();break; case 2:selectSumm();break; case 3:selectWinter();break; break; case 2: switch(cury) case 0: case 1:selectSumm();break; case 2:selectWinter();break; case 3:selectSumm();break; break; case 3: switch(cury) case 0: case 1:selectWinter();break; case 2:selectSumm();break; case 3:selectWinter();break; break;/*画出彩色雨滴*/void drawRainLine(struct rainDrop *p,int m) setcolor(p-rainColor);/*将雨滴赋予颜色*/ if (m=3&mstartX,p-startY,p-curX,p-curY);/*画雨滴*/ else /*雪*/ setcolor(WHITE); setfillpattern(2,WHITE); sector(p-cur

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

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