#include<graphics.h>
#include<conio.h>
#include<math.h>
void bress(float x1,float y1,float x2,float y2)
{
int x,y,end,inc=0,p,dx=abs(x2-x1),dy=abs(y2-y1),c=0,current=0;
if(dx>dy)
{
p=2*dy-dx;
if(x1<x2)
{
x=x1;y=y1;end=x2;
if(y1<y2)inc=1;
if(y1>y2)inc=-1;
}
else
{
x=x2;y=y2;end=x1;
if(y2<y1)inc=1;
if(y2>y1)inc=-1;
}
while(x<=end)
{
putpixel(x,y,15);
if(p<0) p=p+2*dy;
else
{
y=y+inc;p=p+2*(dy-dx);
}
x++;
}
}
else
{
p=2*dx-dy;
if(y1<y2)
{
y=y1;x=x1;end=y2;
if(x1<x2)inc=1;
if(x1>x2)inc=-1;
}
else
{
y=y2;x=x2;end=y1;
if(x2<x1)inc=1;
if(x2>x1)inc=-1;
}
while(y<=end)
{
putpixel(x,y,15);
if(p<0)p=p+2*dx;
else
{
x=x+inc;p=p+2*(dx-dy);
}
y++;
if(current==0&&c==10)
{
current=1;c=-1;
}
if(current==1&&c==6)
{
current=0;c=-1;
}
c++;
}
}
}
void main()
{ int gdriver=DETECT,gmode,i,j,c=0;
initgraph(&gdriver,&gmode,"..\\bgi");
for(i=1;i<=5;i++)
{
bress(100+c,100+c,300+c,100+c);
bress(100+c,100+c,100+c,200+c);
bress(300+c,100+c,300+c,200+c);
bress(100+c,200+c,300+c,200+c);
c+=10;
}
getch();
closegraph();
getch();
}
hookup ur code with us
Comments
Post a Comment