#include<stdlib.h>
#include<stdio.h>
#include<easyx.h>
#include<time.h>
#define SX 640
#define SY 400
struct Star
{
int x;
int y;
int v;
bool use;
}star[SY];
void initstar()
{
initgraph(SX,SY);
srand(time(NULL));
for(unsigned short i=0;i<SY;i++)
{
star[i].use=false;
}
return;
}
void creat()
{
for(unsigned short i=0;i<SY;i++)
{
if(!star[i].use)
{
star[i].use=true;
star[i].x=0;
star[i].y=rand()%SY;
star[i].v=rand()%4+1;
break;
}
}
return;
}
void move()
{
for(unsigned short i=0;i<SY;i++)
{
if(star[i].use)
{
star[i].x+=star[i].v;
if(star[i].x>=SX)
{
star[i].use=false;
}
}
}
return;
}
void draw()
{
unsigned short i;
for(i=0;i<SY;i++)
{
if(star[i].use)
{
putpixel(star[i].x,star[i].y,RGB(255,255,255));
}
}
time_t t=time(NULL);
tm *p=gmtime(&t);
char s[128];
sprintf(s,"%d:%d:%d",p->tm_hour,p->tm_min,p->tm_sec);
RECT tr={0,0,SX,SY};
drawtext(_T(s),&tr,DT_CENTER|DT_VCENTER|DT_SINGLELINE);
Sleep(100);
for(i=0;i<SY;i++)
{
if(star[i].use)
{
putpixel(star[i].x,star[i].y,RGB(0,0,0));
}
}
move();
return;
}
int main()
{
initstar();
int cnt=0;
while(true)
{
cnt=(cnt+1)%4;
if(cnt==0)
{
creat();
}
draw();
}
return 0;
}
星空时钟c++
最新推荐文章于 2024-09-02 20:21:30 发布