C语言练习题-C语言练习题实例60
题目:画图,综合例子2。(在TC中实现)。
程序分析:无。
实例
#include "graphics.h"
#define LEFT 0
#define TOP 0
#define RIGHT 639
#define BOTTOM 479
#define LINES 400
#define MAXCOLOR 15
int main()
{
int driver,mode,error;
int x1,y1;
int x2,y2;
int dx1,dy1,dx2,dy2,i=1;
int count=0;
int color=0;
driver=VGA;
mode=VGAHI;
initgraph(&driver,&mode,"");
x1=x2=y1=y2=10;
dx1=dy1=2;
dx2=dy2=3;
while(!kbhit())
{
line(x1,y1,x2,y2);
x1+=dx1;y1+=dy1;
x2+=dx2;y2+dy2;
if(x1<=LEFT||x1>=RIGHT)
dx1=-dx1;
if(y1<=TOP||y1>=BOTTOM)
dy1=-dy1;
if(x2<=LEFT||x2>=RIGHT)
dx2=-dx2;
if(y2<=TOP||y2>=BOTTOM)
dy2=-dy2;
if(++count>LINES)
{
setcolor(color);
color=(color>=MAXCOLOR)?0:++color;
}
}
closegraph();
}
该程序使用了图形库 graphics.h
中的函数来绘制动态变化的线条。
请注意,该代码示例是基于古老的图形库,可能不适用于现代编程环境。如果你想进行图形绘制,建议使用更现代化和跨平台的图形库,例如 SDL、SFML 或 OpenGL。这些库提供了更多功能和更广泛的支持。
此外,该程序中的图形设置和绘制函数是针对 Turbo C 环境的,可能在其他编译环境中无法正常工作。如果你使用的是 Turbo C 环境,可以尝试运行该程序,看看是否能够正确绘制动态线条。否则,建议使用现代的图形库来实现类似的功能。