#include <conio.h>
#include <graphics.h>
#include <math.h>
#include <stdlib.h>
#include <dos.h>
void serp(int level, int Ax, int Ay, int Bx, int By)
{
	int poly[4]={Ax,Ay,Bx,By};

	setfillstyle(SOLID_FILL,YELLOW);

	if (level>0)
	{

		serp(level-1, Ax,Ay ,(2*Ax+Bx)/3,(2*Ay+By)/3);
		serp(level-1,(2*Ax+Bx)/3,(2*Ay+By)/3,(Ax+Bx)/2+sqrt(3)*(Ay-By)/6,(Ay+By)/2+sqrt(3)*(Bx-Ax)/6);
		serp(level-1,(Ax+Bx)/2+sqrt(3)*(Ay-By)/6,(Ay+By)/2+sqrt(3)*(Bx-Ax)/6,(Ax+2*Bx)/3,(Ay+2*By)/3);
		serp(level-1,(Ax+2*Bx)/3,(Ay+2*By)/3,Bx,By);
        }
	else fillpoly(2,poly);
}

int main(void)
{
	int graphdriver=DETECT, graphmode;
	initgraph(&graphdriver, &graphmode, "");

	int i, N=8, Bx=0, By=235, Ax=635, Ay=235;

	for (i=0; i<N; i++)
	{

	serp(0,Ax,Ay,Bx,By);

	serp(1,Ax,Ay,Bx,By);
	serp(2,Ax,Ay,Bx,By);
	serp(3,Ax,Ay,Bx,By);
	serp(4,Ax,Ay,Bx,By);
	serp(5,Ax,Ay,Bx,By);
	serp(6,Ax,Ay,Bx,By);
	serp(7,Ax,Ay,Bx,By);

	delay(1000);
	cleardevice();
	}

	getch();
	closegraph();
	return 0;
}

what i could like to know is how do i fill each object with different colours?

I don't test it yet :)..Try it..

setfillstyle(SOLID_FILL,level);
// or
fillpoly(level,poly);

thanks for your help

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.