0,315,"!");
/*----------调用函数-----------------------*/
ColockHandle();
/*-----------关闭图形----------------------*/
closegraph();
/*-----------返回0,程序结束---------------*/
return 0;
}
/*---------------------------时钟动画处理函数---------------------------------*/
void ColockHandle()
{
int Key=0,Count;
setcolor(WHITE);
/*----------------获取系统时间-------------*/
gettime(Time);
Hour=Time[0].ti_hour;
Minute=Time[0].ti_min;
/*----------------绘制分针-----------------*/
Minute_x=Center_x+100*sin(Minute/30*PI);
Minute_y=Center_y-100*cos(Minute/30*PI);
line(Center_x,Center_y,Minute_x,Minute_y);
/*----------------绘制时针-----------------*/
Hour_x=Center_x+80*sin((Hour*60+Minute)/360*PI);
Hour_y=Center_y-80*cos((Hour*60+Minute)/360*PI);
line(Center_x,Center_y,Hour_x,Hour_y);
/*----------------绘制数字时钟-------------*/
DigitalClock(255,435,DigitalHour(Hour));
DigitalClock(285,435,DigitalMinute(Minute));
setwritemode(1);
for(Count=2;Key!=Esc;)
{
/*----------------绘制秒针-----------------*/
setcolor(RED);
Hour=Time[0].ti_hour;
Minute=Time[0].ti_min;
Second=Time[0].ti_sec;
Second_x=Center_x+120*sin(Second/30*PI);
Second_y=Center_y-120*cos(Second/30*PI);
line(Center_x,Center_y,Second_x,Second_y);
/*-----------------------------------------*/
while(Hour==Time[0].ti_hour&&Minute==Time[0].ti_min&&Second==Time[0].ti_sec)
{
gettime(Time);
if(bioskey(1)!=0)
{
Key=bioskey(0);
Count=KeyHandle(Key,Count);
if(Count==5)
Count=1;
}
}
/*----------绘制数字时钟的秒---------------*/
setcolor(WHITE);
DigitalClock(315,435,DigitalSecond(Second)+1);
/*----------清除前一个秒针的图形-----------*/
setcolor(RED);
Second_x=Center_x+120*sin(Second/30*PI);
Second_y=Center_y-120*cos(Second/30*PI);
line(Center_x,Center_y,Second_x,Second_y);
setcolor(WHITE);
/*---------对分针变化的处理----------------*/
if(Minute!=Time[0].ti_min)
{
Minute_x=Center_x+100*sin(Minute/30*PI);
Minute_y=Center_y-100*cos(Minute/30*PI);
line(Center_x,Center_y,Minute_x,Minute_y);
Minute=Time[0].ti_min;
DigitalClock(285,435,DigitalMinute(Minute));
Minute_x=Center_x+100*sin(Minute/30*PI);
Minute_y=Center_y-100*cos(Minute/30*PI);
line(Center_x,Center_y,Minute_x,Minute_y);
}
/*----------对时针变化的处理 www.2cto.com ---------------*/
if(Hour!=Time[0].ti_hour)
{
Hour_x=Center_x+80*sin((Hour*60+Minute)/360*PI);
Hour_y=Center_y-80*cos((Hour*60+Minute)/360*PI);
line(Center_x,Center_y,Hour_x,Hour_y);
Hour=Time[0].ti_hour;
DigitalClock(255,435,DigitalHour(Hour));
Hour_x=Center_x+80*sin((Hour*60+Minute)/360*PI);
Hour_y=Center_y-80*cos((Hour*60+Minute)/360*PI);
line(Center_x,Center_y,Hour_x,Hour_y);
}
}
}
/*-----------