// 流星雨.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include<graphics.h> #include<mmstream.h> #include<conio.h> #include<stdio.h> #pragma comment(lib,"winmm.lib") #include<Windows.h> #include<time.h> #define MAXSTAR1 600 #define MAXSTAR 1000 struct STAR { int x,y,step,style; }star[MAXSTAR]; struct STAR1 { int x,y,step,color; }star1[MAXSTAR1]; IMAGE image; /* int main() { initgraph(640,640); //创建一个窗口 mciSendString("open 等你下课.mp3 alias music",0,0,0);//加载音乐 mciSendString("play music repeat",0,0,0);//播放音乐 loadimage(&image,"2.jpg",640,640); putimage(0,0,&image); while(1);//Sleep(10000); return 0; } */ //星星模块 void initStar1(int i); void moveStar1(int i); //流行模块 void initstar(int i); void moveStar(); void drawStar(); //初始化 void initData(); int main() { initData(); mciSendString("open 等你下课.mp3 alias music",0,0,0);//加载音乐 mciSendString("play music repeat",0,0,0);//播放音乐 while(1) { BeginBatchDraw(); cleardevice(); for(int i= 0 ;i<MAXSTAR1;i++) { moveStar1(i); } moveStar(); drawStar(); Sleep(50); EndBatchDraw(); } closegraph(); } void moveStar1(int i) { putpixel(star1[i].x,star1[i].y,0); star1[i].x += star1[i].step; if(star1[i].x >640) initStar1(i); putpixel(star1[i].x,star1[i].y,star1[i].color); } void initData() { srand((unsigned int)time(NULL)); initgraph(640,480); //初始化星空 loadimage(&image,"1.jpg",50,50); int i = 0; for( i = 0; i<MAXSTAR1 ;i++) { initStar1(i); star1[i].x = rand()%640; } //初始化流量 for(i = 0;i<MAXSTAR ; i++) { initstar(i); } } void initStar1(int i) { star1[i].x = 0; star1[i].y = rand() % 480; star1[i].step = rand()%5; star1[i].color = RGB(star1[i].step*51,star1[i].step*51,star1[i].step*51); } //流行实现 void initstar(int i) { star[i].x = rand()%1280 -640 ; //-640 --640 star[i].y = -144; do { star[i].step = rand()%30 +1; }while(star[i].step<5); star[i].style = rand()%3+1; } void moveStar() { for(int i=0 ; i<MAXSTAR;i++) { star[i].x += star[i].step; star[i].y += star[i].step*0.8; } } void drawStar() { for(int i= 0 ;i<MAXSTAR ;i++) { switch(star[i].style) { case 1: putimage(star[i].x,star[i].y,&image,SRCPAINT); break; } } }素材下载:链接:https://pan.baidu.com/s/11hLMs_1bGeeQO9JtWH0F9w 密码:g6ny
c++实现流星雨
猜你喜欢
转载自blog.csdn.net/zzb2019/article/details/80188100
今日推荐
周排行