/*montana*/ /*Fernando Galindo Soria*/ #include #include #include void montana(int,int,int,int,int); void recta(int,int,int,int,int*,int*); void main() { int gd=DETECT,gm; initgraph(&gd,&gm,""); montana(340,250,83,-31,9); getch(); closegraph(); } void montana(int x0,int y0,int l,int an,int ind) { int x1,y1; if (bioskey(2)!=0x04) if (ind > 0) { recta(x0,y0,l,an,&x1,&y1); montana(x1,y1,l/1.2,an+6,ind-1); montana(x1,y1,l/1.55,an+172,ind-1); montana(x1,y1,l/1.8,an+186,ind-1); } } void recta(int x0,int y0,int l,int an,int *x1,int *y1) { *x1=x0-(l*cos(an/57.29578)); *y1=y0-(l*sin(an/57.29578)); line(x0,y0,*x1,*y1); }