为了更好的采用C语言画图,建议安装EasyX,这样可以方便的在VC下进行C语言绘图操作。
C语言模拟LED流水灯原理很简单,先画好几个灯,然后涂黑,模拟灯灭的情况,然后逐次给各个圆圈进行涂色,并将其他圆圈涂成背景色,并进行延时,这样就可以模拟出LED流水灯的效果啦。。。代码如下
#include <graphics.h>
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<conio.h>
int Color[17]={BLACK,BLACK,BLUE,GREEN,CYAN,RED,MAGENTA,BROWN,LIGHTGRAY,DARKGRAY,LIGHTBLUE,LIGHTGREEN,LIGHTCYAN,LIGHTRED,LIGHTMAGENTA,YELLOW,WHITE};
#define HIHG 100
void show()
{
int i,j,t;
for(i=0;i<20;i++)
{
t=rand()%17;
setfillstyle(Color[t]);
floodfill(30+i*30,HIHG,RGB(100,200,10));
for(j=0;j<20;j++)
{
if(j!=i)
{
setfillstyle(RGB(200,200,50));
floodfill(30+j*30,HIHG,RGB(100,200,10));
}
}
Sleep(100);
}
}
int main()
{
int i,j,g_nWidth,g_nHeight;
int x;
char a='a';
int t;
char test1[200]="jianxiawzx作品";
char test2[200]="有任何问题请联系:jianxiawzx@126.com";
initgraph(640,480);
setbkcolor(RGB(100,200,10));
cleardevice();
setcolor(RED);
srand((unsigned)time(NULL));
setfont(100, 0, _T("Arial"));
g_nWidth = textwidth(test1);
g_nHeight = textheight(test1);
outtextxy(30,200,test1);
setcolor(BLUE);
setfont(35, 0, _T("Arial"));
g_nWidth = textwidth(test2);
g_nHeight = textheight(test2);
outtextxy(50,350,test2);
//画初始圆
setcolor(BLACK);
for(i=0;i<20;i++)
{
circle(30+i*30,HIHG,10);
}
setfillstyle(RGB(200,200,50));
for(i=0;i<20;i++)
{
floodfill(30+i*30,HIHG,BLACK);
}
while(!kbhit())
{
show();
}
return 0;
}