Hi again! This is your real code:
rem ****** 20 LINES SPACE SHOOTER 2D *********
rem ****** by Alessandro Riva ******
rem *** 29 Jan 2005 - 01 Feb 2005 ***
rem commands x line count(also "to","and","or" and variable assignement counted as commands):
rem 25,25,25,25,25,25,23,22,24,25,23,23,23,24,25,24,24,25,24,2
rem - system settings & loading media
hide mouse
disable systemkeys
randomize 0
set text size 20
ink rgb(0,240,44),1
load sound "laser.wav",1
load sound "explo.wav",2
load music "music.mp3",1
load bitmap "nebula.jpg",1
get image 1,0,0,640,480
delete bitmap 1
load bitmap "logo.jpg",1
get image 2,0,0,320,80
delete bitmap 1
load bitmap "bar.bmp",1
get image 3,0,0,208,8
delete bitmap 1
for f=1 to 8
load bitmap ("ship"+str$(f)+".bmp"),1
get image (3+f),0,0,60,40
delete bitmap 1
next f
load bitmap "bullet.bmp",1
get image 12,0,0,14,29
delete bitmap 1
load bitmap "firealien.bmp",1
get image 13,0,0,10,10
delete bitmap 1
for f=1 to 4
load bitmap ("star"+str$(f)+".bmp"),1
get image (13+f),0,0,4,4
delete bitmap 1
next f
dim frx(20)
dim fry(20)
dim alx(20)
dim aly(20)
dim alimg(20)
dim alpath(20)
dim fralon(20)
dim fralx(20)
dim fralxmove(20)
dim fraly(20)
dim fralymove(20)
dim stx(20)
dim sty(20)
dim stimage(20)
dim stspeed(20)
status$="gomenu"
score=0
frs=0
alco=60
alsmax=16
als=0
frals=0
fralwait=30
sts=20
firing=0
lv=1
energy=0
for f=1 to sts
stx(f)=rnd(636)
sty(f)=rnd(470)
stspeed(f)=rnd(2)+1
stimage(f)=13+stspeed(f)
next f
rem - this is the main cycle
sync rate 40
sync on
do
for f=1 to sts
sty(f)=sty(f)+stspeed(f)
if sty(f)>479
stx(f)=rnd(636)
sty(f)=-4
stspeed(f)=rnd(2)+1
stimage(f)=13+stspeed(f)
endif
next f
if status$="gomenu"
loop music 1
status$="menu"
endif
if status$="menu"
if returnkey()=1
status$="gogame"
lvwait=200
score=0
frs=0
alco=60
als=0
frals=0
for f=1 to 20
fralon(f)=0
next f
fralwait=30
shx=101
shy=400
shimage=8
firing=0
lv=1
energy=101
wave=4
wvct=0
wavex=200
pathx=1
pathy=2
endif
endif
if status$="gogame"
if music exist(1)
stop music 1
endif
dec lvwait,1
if lvwait=0
status$="game"
shx=101
shy=400
endif
endif
if status$="game"
dec alco,1
if alco=0
alco=40
if als < alsmax
myal=0
for f=1 to als
if alimg(f)=17
myal=f
endif
next f
if myal=0
inc als,1
myal=als
endif
inc wvct,1
if wvct=9
wvct=0
inc wave,1
if wave=8
wave=4
endif
wavex=rnd(300)+100
pathx=rnd(20)-10
pathy=rnd(6)+1
endif
alaligny=rnd(1)*200
alx(myal)=wavex+alaligny
aly(myal)=-42
alimg(myal)=wave
endif
endif
for f=1 to als
alx(f)=alx(f)+pathx
if alx(f)<-40
alx(f)=620
endif
if alx(f)>640
alx(f)=-40
endif:aly(f)=aly(f)+pathy
if aly(f)>480:alimg(f)=17
aly(f)=-40
endif
next f
if als>0 and frals<20
dec fralwait,1
if fralwait<=0
fralwait=rnd(10)+(11-lv)
tempy=0
tempy2=0
for f=1 to als
if alimg(f)<>0 and alimg(f)<>17 and tempy=0
if rnd(2)=1
tempy=1
inc frals,1
for g=1 to frals
if fralon(g)=0 and tempy2=0
tempy2=g
endif
next g
fralx(tempy2)=alx(f)+25
fraly(tempy2)=aly(f)+40
fralxmove(tempy2)=(alx(f)-shx)/(-20)
fralymove(tempy2)=rnd(6)+6
fralon(tempy2)=1
endif
endif
next f
endif
endif
if frals>0
for f=1 to 20
if fralon(f)=1
fralx(f)=fralx(f)+fralxmove(f)
fraly(f)=fraly(f)+fralymove(f)
if fraly(f)>480 or fralx(f)<-10 or fralx(f)>640
fralon(f)=0
dec frals,1
endif
endif
next f
endif
if rightkey()=1
if shx<600
shx=shx+8
endif
endif
if leftkey()=1
if shx>-20
shx=shx-8
endif
endif
if upkey()=1
if shy>160
shy=shy-8
endif
endif
if downkey()=1
if shy<428
shy=shy+8
endif
endif
frshake=0
if controlkey()=1 and firing=0 and frs<20
firing=1
frloop=1
frcycle=1
endif
if firing=1
dec frloop,1
if frloop=0
frloop=4
if shimage=8 and frcycle=1
shimage=9
play sound 1
endif
if shimage=9 and frcycle=2:shimage=10
endif
if shimage=10 and frcycle=3
shimage=9
endif
if shimage=9 and frcycle=4
shimage=8
firing=0
endif
if frcycle=1
inc frs,1
frx(frs)=shx+23
fry(frs)=shy-10
endif
inc frcycle,1
endif
endif
if frs>0
for f=1 to frs
if fry(f)>-30
fry(f)=fry(f)-10
else
frshake=1
endif
next f
endif
if frshake=1
if frs>1
for f=1 to frs-1
frx(f)=frx(f+1)
fry(f)=fry(f+1)
next f
endif
frshake=0
dec frs,1
endif
for f=1 to als
if alimg(f)=11
alimg(f)=17
endif
aldead=0
if alimg(f)<>17 and alimg(f)<>0
for g=1 to frs
if alx(f)<(frx(g)+6) and (alx(f)+60)>(frx(g)+7)
tempy=15
if aly(f)<(fry(g)+tempy) and (aly(f)+40)>(fry(g)+tempy) and fry(g)>10-tempy
aldead=1
score=score+430
for h=g to frs-1
frx(h)=frx(h+1)
fry(h)=fry(h+1)
next h
dec frs,1
endif
endif
next g
colla=0
if alx(f)>shx+20 and alx(f)<(shx+86)
colla=1
endif
if alx(f)+60>shx+20 and alx(f)+60<shx+86
colla=1
endif
if colla=1
if aly(f)>shy+15 and aly(f)<(shy+38)
colla=2
endif
if aly(f)+40>shy+15 and aly(f)+40<(shy+38)
colla=2
endif
if colla=2
aldead=1
energy=energy-10
if energy<0
energy=0
status$="gameover"
gameoverwait=300
endif
endif
endif
endif
if aldead=1
alimg(f)=11
play sound 2
endif
next f
for f=1 to frals
if fralon(f)=1
colla=0
if fralx(f)>shx+20 and fralx(f)<(shx+86)
colla=1
endif
if fralx(f)+8>shx+20 and fralx(f)+8<shx+86
colla=1
endif
if colla=1
if fraly(f)>shy+15 and fraly(f)<(shy+43)
colla=2
endif
if fraly(f)+8>shy+15 and fraly(f)+8<(shy+43)
colla=2
endif
if colla=2
fralon(f)=0
energy=energy-5
if energy<0
energy=0
status$="gameover"
gameoverwait=300
endif
endif
endif
endif
next f
endif
paste image 1,0,0
if sts>0
for f=1 to sts
paste image stimage(f),stx(f),sty(f),1
next f
endif
if status$="gogame"
text 256,200,"GET READY!"
endif
if status$="game"
for f=1 to 20
if fralon(f)=1
paste image 13,fralx(f),fraly(f),1
endif
next f
for f=1 to frs
paste image 12,frx(f),fry(f),1
next f
for f=1 to als
paste image alimg(f),alx(f),aly(f),1
next f
paste image shimage,shx,shy,1
endif
if status$="menu"
paste image 2,160,100,1
endif
if status$="gameover"
dec gameoverwait,1
if gameoverwait=0
status$="gomenu"
endif
text 256,200,"GAME OVER"
endif
text 570,6,str$(score)
text 0,460,"fps:"+str$( screen fps() )
paste image 3,6,6,1
box 8,8,8+(energy*2),12
sync
loop
end
yeah! A 300 liner!
399 lines!
If you can take this code for the 20 line code challange, the owner of the challange were drunk when they made the rules!