home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Hack-Phreak Scene Programs
/
cleanhpvac.zip
/
cleanhpvac
/
ARSRC21.ZIP
/
YINYANG2.CPP
< prev
Wrap
C/C++ Source or Header
|
1995-06-02
|
2KB
|
63 lines
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
void yinyang( int xcen, int ycen, int cen_r, signed int align )
{
int xwhite, ywhite, xblack, yblack;
int white_r, black_r;
double alpha;
double cos_alpha, sin_alpha;
char *temp_str, *temp_str2;
arccoordstype *whitearc, *blackarc;
whitearc=(arccoordstype *)malloc(30);blackarc=(arccoordstype *)malloc(30);
white_r = ((long) cen_r*( align+300 ))/600;
black_r = cen_r - white_r;
alpha = 45;
cos_alpha = cos(( 2*M_PI*alpha )/360 );
sin_alpha = sin(( 2*M_PI*alpha )/360 );
xwhite = xcen - ( cen_r - white_r )*sin_alpha ;
ywhite = ycen - ( cen_r - white_r )*cos_alpha ;
xblack = xcen + ( cen_r - black_r )*sin_alpha ;
yblack = ycen + ( cen_r - black_r )*cos_alpha ;
setcolor( RED );
arc( xwhite, ywhite, 270+alpha, 90+alpha, white_r );
getarccoords( whitearc );
arc( xblack, yblack, 90+alpha, 270+alpha, black_r );
getarccoords( blackarc );
line( whitearc->xstart, whitearc->ystart, blackarc->xstart, blackarc->ystart );
setlinestyle( SOLID_LINE, 0xFFFF, THICK_WIDTH );
circle( xcen, ycen, cen_r );
setlinestyle( SOLID_LINE, 0xFFFF, NORM_WIDTH );
setfillstyle( SOLID_FILL, WHITE );
floodfill( xwhite, ywhite, RED );
setcolor( BLACK );
setfillstyle( SOLID_FILL, BLACK );
floodfill( xblack, yblack, RED );
pieslice( xwhite, ywhite, 0, 360, white_r/5 );
setcolor( WHITE );
setfillstyle( SOLID_FILL, WHITE );
pieslice( xblack, yblack, 0, 360, black_r/5 );
free(whitearc);free(blackarc);
return;
}