#include #include void Free_Values(int *p) { int points; points=p[0]; FreeMem(p,(points*2+2)*sizeof(int *)); return; } int Draw_Star(struct RastPort *rastport,int *p,int x,int y,int count) { int x1,y1,points,w; if(p==NULL) return(0); x1=x-160; y1=y-128; points=p[0]; count=count%points; w=count; Move(rastport,p[1]+x1,p[points+1]+y1); Draw(rastport,p[1+w]+x1,p[points+1+w]+y1); while(w) { w+=count; w=w%points; Draw(rastport,p[1+w]+x1,p[1+points+w]+y1); } return(1); } int *Init_Values(int radius,int points) { int n,*p; float incr; p=(int *)AllocMem(sizeof(int *)*(points*2+2),MEMF_PUBLIC+MEMF_CLEAR); if(p==NULL) return(0); p[0]=points; incr=2.0*3.141592654/points; for(n=1;n<=points;n++) { p[n]=floor(radius*cos(n*incr)+160); p[n+points]=floor(radius*sin(n*incr)+128); } return((int *)p); }