@Darkdomy.
Here's the fix. I guess some versions of DBPro don't like Type declarations all on the same line. Also added the Set Cursor and Hide Mouse suggested by IBOL.
Hide Mouse:RANDOMIZE RND(255):SYNC ON:COLOR BACKDROP 1:BACKDROP ON:LOAD IMAGE "ship.png",1:LOAD IMAGE "bullet.png",2:LOAD IMAGE "enemy.png",3:SPRITE 1,0,0,1:SPRITE 3,0,0,3:angle as FLOAT:
type enemyship
epozx as FLOAT:epozxmain as FLOAT:epozy as FLOAT:exist:speed as FLOAT:radius as FLOAT
endtype:dim Enemypos(50) as enemyship
pozx=200:pozy=Screen Height()-Sprite Height(1):hide sprite 1:hide sprite 3:do:angle=angle+0.1:delay=delay-1:if delay < 0 :delay=0 :ENDIF:delay2=delay2-1:if delay2 < 0 :delay2=0:ENDIF:go=1:for a=0 TO int(score/20)+1:
if Enemypos(a).exist = 0 and go = 1 and delay2 = 0 then Enemypos(a).exist = 1:go=0:Enemypos(a).epozy=RND(60)-200:Enemypos(a).speed=RND(100)/200+0.2:Enemypos(a).radius=RND(screen WIDTH()/2):Enemypos(a).epozxmain=RND(screen WIDTH()-sprite WIDTH(3)):delay2=300
next a:for a=0 TO int(score/20)+1:if Enemypos(a).exist = 1 then paste sprite 3,Enemypos(a).epozx,Enemypos(a).epozy:Enemypos(a).epozy=Enemypos(a).epozy+Enemypos(a).speed:Enemypos(a).epozx=sin(angle)*Enemypos(a).radius+Enemypos(a).epozxmain:if Enemypos(a).epozy > SCREEN HEIGHT()+100 then Enemypos(a).exist = 0
next a:for a=10 TO 500:FOR x=0 TO int(score/20)+1:if sprite exist(a) = 1 then if SPRITE X(a) < Enemypos(x).epozx+sprite WIDTH(3) and SPRITE X(a) > Enemypos(x).epozx and SPRITE Y(a) > Enemypos(x).epozy and SPRITE Y(a) < Enemypos(x).epozy+sprite height(3) then Enemypos(x).exist = 0:Enemypos(x).epozx = -200:Enemypos(x).epozy = -200:delete sprite a:score=score+5
next x:if sprite exist(a) = 1 then move sprite a,1:if sprite Y(a) < 0 then delete sprite a
next a:for a=0 TO int(score/20)+1:if pozx+sprite width(1)/2 < Enemypos(a).epozx+sprite WIDTH(3) and pozx+sprite width(1)/2 > Enemypos(a).epozx and pozy > Enemypos(a).epozy and pozy < Enemypos(a).epozy+sprite height(3) then gosub _end
next a:if LEFTKEY() = 1 and pozx > 0 : pozx=pozx-0.5:ENDIF:if RIGHTKEY() = 1 and pozx < SCREEN WIDTH()-SPRITE WIDTH(1) :pozx=pozx+1:ENDIF:if UPKEY() = 1 and pozy > 0 :pozy=pozy-0.5:ENDIF:if DOWNKEY() = 1 and pozy < SCREEN HEIGHT()-SPRITE HEIGHT(1) :pozy=pozy+1:ENDIF
if KEYSTATE(57) = 1 :gosub _fire:fire=1:ENDIF:PASTE SPRITE 1, pozx,pozy:print score:SYNC
loop
_fire:for a=10 TO 500:if sprite exist(a) = 0 and fire = 1 and delay = 0 then sprite a,pozx+SPRITE WIDTH(1)/2,pozy,2:fire=0:delay=100
next a:return
_end:CLS::CENTER TEXT Screen Height()/2,Screen Height()/2,"Game OVER!":Set Cursor 0,0:print "Score":print score-5:SYNC
wait key
end
return
"Droids don't rip your arms off when they lose." -H. Solo
REALITY II