#include <graphics.h> // 引用图形库头文件
#include <conio.h>
#include<math.h>
//画面尺寸
#define High 480
#define Width 640
#define PI 3.14159
int main()
{
initgraph(Width, High);//初始化画布
int center_x, center_y;//中心坐标
center_x = Width / 2;
center_y = High / 2;
int secondLength;
secondLength = Width / 5;
int minute_Length;
minute_Length = Width / 7;
int hour_Length;
hour_Length = Width / 9;
int secondEnd_x, secondEnd_y;
int minute_x, minute_y;
int hour_x, hour_y;
float secondAngle = 0;//秒针对应转动的角度
float minuteAngle = 0;
float hourAngle = 0;
setcolor(WHITE);
circle(center_x, center_y, Width / 4);
SYSTEMTIME ti;
BeginBatchDraw();
while (1)
{
GetLocalTime(&ti);//得到当前的时间
secondAngle = ti.wSecond * 2 * (PI / 60);
secondEnd_x = center_x + secondLength*sin(secondAngle);
secondEnd_y = center_y - secondLength*cos(secondAngle);
minuteAngle = ti.wMinute * 2 * (PI / 60);
minute_x = center_x + minute_Length*sin(minuteAngle);
minute_y = center_y - minute_Length*cos(minuteAngle);
hourAngle = ti.wHour * 2 * (PI / 12);
hour_x = center_x + hour_Length*sin(hourAngle);
hour_y = center_y - hour_Length*cos(hourAngle);
//画秒针
setlinestyle(PS_SOLID, 1);//设置秒针的样式和宽度
setcolor(YELLOW);//秒针的颜色
line(center_x, center_y, secondEnd_x, secondEnd_y);
//画分针
setlinestyle(PS_SOLID, 2);//设置分针的样式和宽度
setcolor(BLUE);//分针的颜色
line(center_x, center_y, minute_x, minute_y);
//画时针
setlinestyle(PS_SOLID, 3);//设置时针的样式和宽度
setcolor(RED);//时针的颜色
line(center_x, center_y, hour_x, hour_y);
FlushBatchDraw();
Sleep(1000);
//隐藏前一秒的指针
setcolor(BLACK);
line(center_x, center_y, secondEnd_x, secondEnd_y);
line(center_x, center_y, minute_x, minute_y);
line(center_x, center_y, hour_x, hour_y);
}
EndBatchDraw();
_getch();
closegraph();
return 0;
}
easy_x是实现钟表
最新推荐文章于 2022-10-05 13:37:12 发布