#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <graphics.h>
#include <time.h>
#define PI 3.1415926
IMAGE img[2];
void save();//绘制雪花,并存储
void dsnow();//用于实现雪花飘落的过程
void font();//来实现在屏幕中输出字符串 //定义雪花结构
struct Snow
{
int x;
int y;
int speed;
}snow[100]; //绘制雪花,并存储
void save()
{
int i,x,y;
setcolor(WHITE);
for(i = 1; i <= 6;i++ ){
x = 200 + 5 * sin(i * PI / 3);
y = 200 - 5 * cos(i * PI / 3);
line(200,200,x,y);
}
getimage(&img[1],100,100,10,10);
getimage(&img[0],195,195,10,10);
} //来实现在屏幕中输出字符串
void font()
{
outtextxy(180 , 200, "Merry Christmas" );
setfont(40, 0 ,"微软雅黑"); //用于字体颜色变更
setcolor(RGB(rand() % 256, rand() % 256, rand() % 256));
} //用于实现雪花飘落的过程
void dsnow()
{
int i,num = 0;
srand((unsigned )time(NULL));
cleardevice();
while( !_kbhit()){
font();
if( num != 100 ){
snow[num].speed = 2 + rand()%10;
snow[num].x = rand()%640;
snow[num].y = 0;
}
for( i = 0;i < num;i ++)
putimage(snow[i].x,snow[i].y,&img[0]);
Sleep(20);
font();
if( num != 100 )
num++;
for(i = 0;i < num;i++){
snow[i].y += 4;
putimage(snow[i].x,snow[i].y-4,&img[1]);
Sleep(10);
if( snow[i].y > 500 )
snow[i].y = 0;
}
}
}
int main()
{ initgraph( 640,480);
setbkcolor(BLACK); save();
dsnow();
_getch();
closegraph();
return 0;
}