17 lines
498 B
Plaintext
17 lines
498 B
Plaintext
fcn circle(x0,y0,r,rgb){
|
|
x:=r; y:=0; radiusError:=1-x;
|
|
while(x >= y){
|
|
__sSet(rgb, x + x0, y + y0);
|
|
__sSet(rgb, y + x0, x + y0);
|
|
__sSet(rgb,-x + x0, y + y0);
|
|
__sSet(rgb,-y + x0, x + y0);
|
|
self[-x + x0, -y + y0]=rgb; // or do it this way, __sSet gets called as above
|
|
self[-y + x0, -x + y0]=rgb;
|
|
self[ x + x0, -y + y0]=rgb;
|
|
self[ y + x0, -x + y0]=rgb;
|
|
y+=1;
|
|
if (radiusError<0) radiusError+=2*y + 1;
|
|
else{ x-=1; radiusError+=2*(y - x + 1); }
|
|
}
|
|
}
|