Shoot the red cubes before they get to Earth!
Controls:
Mouse: Movement
Mouse left-button: Shoot (Not semi-automatic, so you dont have to keep clicking to shoot continously unless you want to)
The letter E's are just there to help you find where the enemies are. Enemies spawn behind your ship.
A Screenshot is attached.
[Edit] Altered the code a bit for smoother mouse
autocam off:randomize timer():sync on:sync rate 60:hide mouse:angle=0:angleturn=0:Lives=10:blue as dword:blue=rgb(0,0,255):green as dword:green=rgb(0,255,0):for x=1 to 4:dot x,1,blue:next x:dot 1,2,blue:dot 2,2,blue:dot 3,2,blue:dot 4,2,blue:dot 1,2,blue:dot 2,2,blue:dot 3,2,green:dot 4,2,blue
for x=1 to 4:dot x,4,blue:next x:get image 10,1,1,4,4:make object sphere 10,5:position object 10,0,0,210:point object 10,0,0,0:texture object 10,10
for x=2001 to 2050:make object cube x,2:color object x,rgb(255,0,0):hide object x:next x:enemiesatatime=1:dot 1,1,rgb(255,255,255):for x=51 to 150:make object plain x,.3,.3:position object x,rnd(100)-50,rnd(100)-50,rnd(85)+80:next x
make object cube 2,500:get image 5,100,100,101,101:texture object 2,5:set object cull 2,0:make object cube 1,3:scale object 1,100,100,200:position object 1,0,-3,2
do:Line screen width()/2,screen height()/2-5,screen width()/2,screen height()/2-10:Line screen width()/2,screen height()/2+5,screen width()/2,screen height()/2+10:Line screen width()/2+5,screen height()/2,screen width()/2+10,screen height()/2:Line screen width()/2-5,screen height()/2,screen width()/2-10,screen height()/2
for x=51 to 150:position object x,object position x(x), object position y(x),object position z(x)-5:if object position z(x)=<-80:position object x,rnd(100)-50,rnd(100)-50,rnd(85)+80:endif:point object x, camera position x(),camera position y(), camera position z():next x
rotate camera camera angle x(0)+(mousemovey()/2.0),camera angle y(0)+(mousemovex()/2.0),0:if camera angle x()>90:xrotate camera 90:endif:if camera angle x()<-90:xrotate camera -90:endif
enemiesatatime=1:tempscore=score:for x=1 to 50:if tempscore=>100:dec tempscore,300: inc enemiesatatime:endif:if tempscore<100:exit:endif:next x
while enemiespresent<enemiesatatime:for x=2001 to 2050:if object visible(x)=0:show object x:position object x,rnd(100)-50,rnd(50),rnd(85)-80:inc enemiespresent:color object x,rgb(255,0,0):exit:endif:next x:endwhile
for x=2001 to 2050:if object visible(x)=1:position object x,object position x(x), object position y(x),object position z(x)+.5:scrx=object screen x(x):scry=object screen y(x):if scrx<0:scrx=0:endif:if scry<0:scry=0:endif
if scrx>screen width()-text width("E"):scrx=screen width()-text width("E"):endif:if scry>screen height()-text height("E"):scry=screen height()-text height("E"):endif:text scrx,scry,"E":endif
if object position z(x)>200:if object visible(x)=1:hide object x:dec enemiespresent:dec lives:endif:endif:next x
for x=2001 to 2050:if mouseclick()=1:ink rgb(255,0,0),0:Line screen width()/2,screen height()/2-5,screen width()/2,screen height()/2-10:Line screen width()/2,screen height()/2+5,screen width()/2,screen height()/2+10
Line screen width()/2+5,screen height()/2,screen width()/2+10,screen height()/2:Line screen width()/2-5,screen height()/2,screen width()/2-10,screen height()/2:ink rgb(255,255,255),0
if object screen x(x)<screen width()/2+5:if object screen x(x)>screen width()/2-5:if object screen y(x)<screen height()/2+5:if object screen y(x)>screen height()/2-5:if object visible(x)=1:hide object x:dec enemiespresent
endif:endif:endif:endif:endif:endif:next x:inc score:if lives=<0
do:cls:center text screen width()/2,screen height()/2-6,"Final score: "+str$(score):center text screen width()/2,screen height()/2+6,"Press escape to exit...":sync:loop:endif
text 12,24,"Score: "+str$(score):text 12,34,"Lives: "+str$(lives):text 12,54,"Enemies present: "+str$(enemiesatatime)
sync
loop
My highscore is 4278
[Edit] 5737 now with the smoother mouse.
Teen Titans is like watching an episode of LiveJournal.