FCIRCLE 200, 120, 20, -1
Drawing Filled Circles
Root / Submissions / [.]
answerCreated:
A function that draws a filled circle with a selectable color.
Source code:
DEF FCIRCLE X,Y,R,L:_=-6.28319R=MAX(R,1)F=_/R:FOR I=_ TO.STEP-F:C=COS(I)S=SIN(I)N=COS(I-F)M=SIN(I-F)GTRI X,Y,X-C*R,Y-S*R,X-N*R,Y-M*R,L:NEXT.END
Usage:
FCIRCLE X, Y, R, L
int X (X coordinate of origin point of circle)
int Y (Y coordinate of origin point of circle)
int R (Radius)
int L (Color code)
Example:
Draws a circle in the middle of the screen with a radius of 20 pixels
Replying to:MZ952
I couldn't help but notice your use of periods in the code. I had no idea that was legal syntax. I can understand a single period being interpreted as a 0 in the for loop, but . . . "NEXT.END"?
Also "TO.STEP". How?
Replying to:Simeon
Wait what? How does this work??
It does work (it draws the circle like a pie chart)
What does TO.STEP mean? Because it doesn't work without that
A single period is recognized as a "0" in smilebasic.
Example, ?A[.]
Now for the NEXT.END, I thought that maybe SB recognizes the "." token like it does spaces, and it seemed that way up until you tried it with any other command.
As it turns out, the NEXT instruction accepts an optional input after it, which it promptly ignores.
Simply put, NEXT X has no weight over NEXT SQR(-1), and likewise with this strange "." functionality, which it recognizes simply as "0"
NEXT.END is the same code as NEXT 0 END.
Replying to:MZ952
I couldn't help but notice your use of periods in the code. I had no idea that was legal syntax. I can understand a single period being interpreted as a 0 in the for loop, but . . . "NEXT.END"?
Never mind, I figured it out lol.
Replying to:Simeon
Wait what? How does this work??
It does work (it draws the circle like a pie chart)
What does TO.STEP mean? Because it doesn't work without that
So something similar applies to "TO.STEP" too?
Replying to:Simeon
Wait what? How does this work??
It does work (it draws the circle like a pie chart)
What does TO.STEP mean? Because it doesn't work without that
Yes. TO.STEP is the same as TO 0 STEP.
Replying to:Simeon
Wait what? How does this work??
It does work (it draws the circle like a pie chart)
What does TO.STEP mean? Because it doesn't work without that
Which I'd like to note is a useful golfing trick... when used that way. Since the rest of this code ISN'T condensed, it's just meaningless cuteness/obfuscation.
It seems to work OK for me (even in its one-line format). Although it isn't perfect.
Sorry, I didn't realize the terrible formatting, I was on a 3DS and I didn't think it wouldn't automatically have line breaks when using the (code) blocks