Are you bored of using straight bars for your characters' statistics (health etc). Using these two functions you can make circular statistic bars and whatever else you want.
My DLine function is more precise than the DB Line command and using it along with my rounding function it will produce smooth lines and curves.
[edit]
Here's a new version, I've replaced the rounding function with my new one and added a wait before sync'ing; does that help DBP users?
ink rgb(255,0,0),0
open = 0
close = 150
hide mouse
sync on
`Integer
For c = open to close
line 70,90,70+@Round(sin(c)*50),90+@Round(cos(c)*50)
Next c
set cursor 0,0
Print "Integer"
`Dline Integer
For c = open to close
@dline(320,90,320+@Round(sin(c)*50),90+@Round(cos(c)*50))
Next c
set cursor 270,0
Print "DLine Integer"
`Real
c#=open
Repeat
line 70,240,70+@Round(sin(c#)*50),240+@Round(cos(c#)*50)
inc c#,0.2
Until c#>close
set cursor 0,170
Print "Real"
wait 60 : sync
wait key
`Dline Real
c#=open
Repeat
@dline(320,240,320+@Round(sin(c#)*50),240+@Round(cos(c#)*50))
inc c#,0.2
Until c#>close
set cursor 270,170
Print "DLine Real"
wait 60 : sync
wait key
end
`----------------------
` FUNCTIONS
`----------------------
`Round up
FUNCTION @Round(n#)
dec# = n# - int(n#)
n = n# + dec#
ENDFUNCTION n
`DLine Function by OBese87
FUNCTION @dline(l,t,r,b)
w = r-l : h = b-t
if w >= 0 then xstep = 1 else xstep = -1
if h >= 0 then ystep = 1 else ystep = -1
w# = ABS(w) : h# = ABS(h)
if w#=0 then w#=0.1
if h#=0 then h#=0.1
xfact# = w#/h#
yfact# = h#/w#
x = 0 : y = 0
repeat
`don't overshoot
if abs(x+xstep) > abs(w) then xstep = 0
if abs(y+ystep) > abs(h) then ystep = 0
dot x+l,y+t
if yfact# > xfact#
inc y,ystep
if ABS(x) < ABS(y*xfact#) then inc x,xstep
else
inc x,xstep
if ABS(y) < ABS(x*yfact#) then inc y,ystep
endif
until xstep = 0 and ystep = 0
ENDFUNCTION
You can now see how long DLine Real takes to draw.
In programming, nothing exists