美丽的彩色时钟

2016-02-19 13:27 0 1 收藏

下面是个超简单的美丽的彩色时钟教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~

【 tulaoshi.com - 编程语言 】

  小弟之做,希望大家指教。QQ:51738793
  #includemath.h
  #includedos.h
  #includegraphics.h
  #define CENTERX 320
  #define CENTERY 175
  #define CLICK 100
  #define CLICKDELAY 30
  #define HEBEEP 10000
  #define LOWBEEP 500
  #define BEEPDELAY 200int Mrk_1[8]={-5,-160,5,-160,5,-130,-5,-130, };
  int Mrk_2[8]={-5,-160,5,-160,2,-130,-2-130, };int HourHand[8]={-3,-100,3,-120,4, 10,-4,10};int MiHand[8]={-3,-120,3,-120,4, 10,-4,10};int SecHand[8]={-2,-150,2,-150,3, 10,-3,10};void Click()
  {
     sound(CLICK);
     delay(CLICKDELAY);
     nosound();
  }void  HighBeep()
  {
     sound(HEBEEP);
     delay(BEEPDELAY);
     nosound;
  }void LowBeep()
  {
     sound(LOWBEEP);
  }void DrawPoly(int *data,int angle,int color)
  {
     int usedata[8];
     float sinang,cosang;
     int i;
     sinang=sin((float)angle/180*3.14);
     cosang=cos((float)angle/180*3.14);
     for(i=0;i8;i+=2)
   {
       usedata[i]  =CENTERX+ cosang*data[i]-sinang*data[i+1]+.5;
       usedata[i+1]=CENTERY+sinang*data[i]+cosang*data[i+1]+.5;
   }
     setfillstyle(SOLID_FILL,color);
     fillpoly(4,usedata);
  }void DrawClock(strUCt time *cutime)
  {
     int ang;
     float hourrate,minrate,secrate;   setbkcolor(BLUE);
     cleardevice();
     setcolor(WH99vE);  for(ang=0;ang360;ang+=90)
   {
      DrawPoly(Mrk_1,ang,WH99vE);
      DrawPoly(Mrk_2,ang+30,WH99vE);
      DrawPoly(Mrk_2,ang+60,WH99vE);
   }
    secrate=(float)cutime-ti_sec/60;
    minrate=((float)cutime-ti_min+secrate)/60;
    hourrate=(((float)cutime-ti_hour/12)+minrate)/12;
    ang=hourrate*360;
    DrawPoly(HourHand,ang,YELLOW);/*画时针*/
    ang=minrate*360;
    DrawPoly(MiHand,ang, GREEN);/*画分针*/
    ang=secrate*360;
    DrawPoly(SecHand,ang, RED);/*画秒针*/
  } main()
  {
    int gdriver=EGA,
    gmode=EGAHI;
    int curpage;
    struct time curtime ,newtime ;
    initgraph(&gdriver,&gmode,"c:c");
    setbkcolor(BLUE);
    cleardevice();
    gettime(&curtime);
    curpage=0;
    DrawClock(&curtime);
    while(1)
    {
     if(kbhit())
       break;
       gettime(&newtime);
     if(newtime.ti_sec!=curtime.ti_sec)
        {
     if(curpage==0)
         curpage=1;
     else
         curpage=0;
         curtime=newtime;
      setactivepage(curpage);   DrawClock(&curtime);   setvisualpage(curpage);    if(newtime.ti_min==0&&newtime.ti_sec==0)
         HighBeep();    else if(newtime.ti_min==59&&
     newtime.ti_sec=59)
     LowBeep();
    else
   Click();
        }
     }
    closegraph();
  }
  

来源:https://www.tulaoshi.com/n/20160219/1604336.html

延伸阅读
这是由台湾云林科大黄柏儒( Bor-Ru Huang)带来的废电池时钟,钟面上的刻度设计成12个电池槽,把用完的AA电池放入其中,让废电池串连电压相加,指针即可转动,将废电池剩余电力完全消耗,不同颜色的废电池也能让时钟可爱有趣。废电池时钟(Eco Clock)是今年光宝创新奖(Liteon Award)的获奖作品。
电子式时钟 作者:李宏亮 下载源代码   看了VC知识库《在线杂志》第27期的“电子八段管的仿真”,确实不错,但失真严重。认识咱们知识库这么久,学了不少东西,我也该作点"贡献"了,于是自己动手也写一个。本文的示例程序界面如图一所示: 图一 程序说明 首先建立一个基于对话框的工程,...
标签: 手工
第一步 将太阳花的形状打印出来,剪出形状; 第二步 根据纸的形状将木板裁出太阳花的形状; 第三步 找出太阳花的中心,用手电钻钻孔; 第四步 用黄色的喷漆喷色; 第五步 用胶固定表芯和时针,完成。 更多关于手工的内容请查看: 回形针手工玩法 用回形针制作喇叭
标签: flash教程
制作步骤: 1.首先新建一个MC元件,然后编辑该元件,方法是设置两个动态文本框,给两个文本框分别设置实例名为:time和date。两个文本框用到的变量为:time和datefinal。 2.在第2帧插入一个帧。(按F5) 3.选择第一关键帧,然后打开动作面板。我们首先设置几个获得系统时钟的代码,并且用变量来把它们保存起来。代码如下: mydate...

经验教程

814

收藏

59
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部