“桌面下雪程序”,,我不行了,朋友帮帮忙好吗?
#include const int ScrnWidth=1366;
const int ScrnHight=768;
const long SnowCol =0xFEFFFE;
const long SnowColDown =0xFFFFFF;
const long SnowColDuck =0xFFDDDD;
const int SnowNum = 500;
const int ID_TIMER = 1;
const char g_szClassName[] = "myWindowClass";
typedef struct POINTAPI
{
long x;
long y;
}a;
static HDC hDC1;
static struct POINTAPI pData[500];
static long pColor[500];
static int Vx,Vy,PVx,PVy,timecont;
long Abs(long num)
{
if(num>=0)return(num);
else return(-num);
}
int Random(int max)
{
return(rand()%max);
}
int InitP(int i)
{
pData[i].x=Random(ScrnWidth);
pData[i].y = Random(5);
pColor[i] = GetPixel(hDC1, pData[i].x, pData[i].y);
}
long GetContrast(int i)
{
long ColorCmp;
long tempR;
long tempG;
long tempB;
int Slope;
if(PVy!=0) Slope = PVx / PVy;
else Slope = 2;
if(Slope==0) ColorCmp = GetPixel(hDC1, pData
[i].x, pData[i].y + 1);
else if(Slope > 1) ColorCmp = GetPixel(hDC1, pData
[i].x + 1, pData[i].y + 1);
else ColorCmp = GetPixel(hDC1, pData[i].x - 1, pData
[i].y + 1);
if(ColorCmp==SnowCol)return 0;
tempB = Abs((ColorCmp>>16)&0xff - (pColor[i]>>16)
&0xff);
tempG = Abs((ColorCmp>>8)&0xff - (pColor[i]>>8)&0xff);
tempR = Abs((ColorCmp)&0xff - (pColor[i])&0xff);
//return
(tempR * 0.114 + tempG * 0.587 + tempB * 0.299);
return((tempR + tempG + tempB) / 3);
}
void DrawP(void)
{
int i;
// srand(time(0));
for(i=0;i