Yep, was bored so made this. Its based off of the old line screen savor but enjoy.
CONTROLS:
Leftclick: New point on shape
Rightclick: New shape
COMPRESSED:
`set window off
set display mode 1024,768,32:maximize window:sync on:sync rate 0:set text font "Times New Roman",1:set text size 20:randomize timer():ink rgb(255,255,255),0
` Varibles
dim points(100):dim color(100):dim pointX(100,100):dim pointY(100,100):dim pointXspd(100,100):dim pointYspd(100,100):Game_State=1:shapes=1:color(1)=rgb(rnd(200)+55,rnd(200)+55,rnd(200)+55):Swidth=screen width():Sheight=screen height()
` ~MAIN~
DO
gosub Game
sync:cls
LOOP
Game:
mx=mouseX(): my=mouseY(): if mouseclick()=0 : press=0:endif: if click1=1 : click1=0:endif: if mouseclick()=1 and press=0: press=1 : click1=1: endif: if mouseclick()=0 : press2=0:endif: if click2=1 : click2=0:endif: if mouseclick()=2 and press2=0: press2=1: click2=1 :endif: if spacekey()=1 : for n=1 to shapes : points(n)=0 : next n : shapes=1 : color(1)=rgb(rnd(200)+55,rnd(200)+55,rnd(200)+55) :endif
if click2=1 and shapes<100 : if points(shapes)>0 : shapes=shapes+1: color(shapes)=rgb(rnd(200)+55,rnd(200)+55,rnd(200)+55): endif :endif:if click1=1 and points(shapes)<100 : points(shapes)=points(shapes)+1: shape=shapes : pointnum=points(shapes): pointX(shape,pointnum)=mx :pointY(shape,pointnum)=my :if rnd(1)=1:pointXspd(shape,pointnum)=rnd(2)-3:pointYspd(shape,pointnum)=rnd(2)-3 :else:pointXspd(shape,pointnum)=rnd(2)+1:pointYspd(shape,pointnum)=rnd(2)+1:endif:endif
time=timer()-oldtime
if time>30: oldtime=timer(): for n=1 to shapes: if points(n)>0: for n2=1 to points(n): pointX(n,n2)=pointX(n,n2)+pointXspd(n,n2) : pointY(n,n2)=pointY(n,n2)+pointYspd(n,n2) : if pointX(n,n2)>Swidth
pointX(n,n2)=Swidth : pointXspd(n,n2)=rnd(2)-3: endif: if pointX(n,n2)<0: pointX(n,n2)=0: pointXspd(n,n2)=rnd(2)+1: endif :if pointY(n,n2)>Sheight:pointY(n,n2)=Sheight : pointYspd(n,n2)=rnd(2)-3 : endif: if pointY(n,n2)<0 : pointY(n,n2)=0: pointYspd(n,n2)=rnd(2)+1: endif : next n2: endif: next n:endif
for n=1 to shapes: if points(n)>0 : ink color(n),0: for n2=1 to points(n): rndnum=rnd(5)+1: for n3=1 to rndnum: dot pointX(n,n2)+rnd(4)-2,pointY(n,n2)+rnd(4)-2: next n3: next n2: endif: if points(n)>1: for n2=1 to points(n): if n2+1>points(n): line pointX(n,n2),pointY(n,n2),pointX(n,1),pointY(n,1) : else: line pointX(n,n2),pointY(n,n2),pointX(n,n2+1),pointY(n,n2+1): endif: next n2: endif: next n: ink rgb(255,255,255),0: print "FPS: ";screen fps(): print "Shapes: ";shapes
Return
UNCOMPRESSED:
Rem Project: cool thingy
Rem Created: Sunday, January 88, 2013
Rem ***** Main Source File *****
` ~SETUP~
`set window off
set display mode 1024,768,32
maximize window
sync on:sync rate 0
set text font "Times New Roman",1
set text size 20
randomize timer()
ink rgb(255,255,255),0
` Varibles
dim points(100)
dim color(100)
dim pointX(100,100)
dim pointY(100,100)
dim pointXspd(100,100)
dim pointYspd(100,100)
Game_State=1
shapes=1
color(1)=rgb(rnd(200)+55,rnd(200)+55,rnd(200)+55)
Swidth=screen width()
Sheight=screen height()
` Images
` ~MAIN~
DO
SELECT Game_State
`<>
Case 1
gosub Game
Endcase
ENDSELECT
sync:cls
LOOP
` ~SUB~
`<><><><>
Game:
`inupt <>
mx=mouseX()
my=mouseY()
`left clk
if mouseclick()=0 then press=0
if click1=1 then click1=0
if mouseclick()=1 and press=0
press=1
click1=1
endif
`right clk
if mouseclick()=0 then press2=0
if click2=1 then click2=0
if mouseclick()=2 and press2=0
press2=1
click2=1
endif
`clear
if spacekey()=1
for n=1 to shapes
points(n)=0
next n
shapes=1
color(1)=rgb(rnd(200)+55,rnd(200)+55,rnd(200)+55)
endif
`new shape
if click2=1 and shapes<100
if points(shapes)>0
shapes=shapes+1
color(shapes)=rgb(rnd(200)+55,rnd(200)+55,rnd(200)+55)
endif
endif
`new point
if click1=1 and points(shapes)<100
points(shapes)=points(shapes)+1
shape=shapes
pointnum=points(shapes)
pointX(shape,pointnum)=mx
pointY(shape,pointnum)=my
if rnd(1)=1
pointXspd(shape,pointnum)=rnd(2)-3
pointYspd(shape,pointnum)=rnd(2)-3
else
pointXspd(shape,pointnum)=rnd(2)+1
pointYspd(shape,pointnum)=rnd(2)+1
endif
endif
time=timer()-oldtime
if time>30
oldtime=timer()
for n=1 to shapes
if points(n)>0
for n2=1 to points(n)
pointX(n,n2)=pointX(n,n2)+pointXspd(n,n2)
pointY(n,n2)=pointY(n,n2)+pointYspd(n,n2)
if pointX(n,n2)>Swidth
pointX(n,n2)=Swidth
pointXspd(n,n2)=rnd(2)-3
endif
if pointX(n,n2)<0
pointX(n,n2)=0
pointXspd(n,n2)=rnd(2)+1
endif
if pointY(n,n2)>Sheight
pointY(n,n2)=Sheight
pointYspd(n,n2)=rnd(2)-3
endif
if pointY(n,n2)<0
pointY(n,n2)=0
pointYspd(n,n2)=rnd(2)+1
endif
next n2
endif
next n
endif
`images <>
for n=1 to shapes
if points(n)>0
ink color(n),0
for n2=1 to points(n)
rndnum=rnd(5)+1
for n3=1 to rndnum
dot pointX(n,n2)+rnd(4)-2,pointY(n,n2)+rnd(4)-2
next n3
next n2
endif
if points(n)>1
for n2=1 to points(n)
if n2+1>points(n)
line pointX(n,n2),pointY(n,n2),pointX(n,1),pointY(n,1)
else
line pointX(n,n2),pointY(n,n2),pointX(n,n2+1),pointY(n,n2+1)
endif
next n2
endif
next n
ink rgb(255,255,255),0
print "FPS: ";screen fps()
print "Shapes: ";shapes
Return
` Functions

If I always made the right decision the first time, I wouldn't have changed my name from razerx.