ok here is a rewrite with some media.... use the download button that has the source and attached media
its sooo funny check it out...lol!
Rem Project: DigDug 20 Lines version 2 with media
Rem Created: 17/04/2008 9:49:39 AM
Rem ***** Main Source File *****
`
`Dig Dug 20 line chalange :)
`
` SMD3D Interactive 2008
` Written BY: Sheldon MacDoanld in dark basic pro...
` Feel free to modify and make improvements if ya can...lol
` rewritten with some media...lol!
`
sync on:load music "digdugstart.mp3",1:load music "digdugloop.mp3",2:sync rate 30:hiscore=0:dim level(20,11,1):make object plain 1,10,10:load image "digdug.bmp",1:texture object 1,1:set object transparency 1,1:make object sphere 2,10:scale object 2,400,5,5:load image "dragon1.bmp",2:for x=10 to 11:make object plain x,10,10:texture object x,2:set object transparency x,1:next x:load image "dragon2.bmp",3:make object plain 12,10,10:texture object 12,3:set object transparency 12,1:lvl=1:score=0
makelevel: show object 10:show object 11:show object 12:for x=0 to 20:for y=1 to 10:level(x,y,0)=1:next y:next x:r1=int(rnd(14))+2:r2=int(rnd(6))+2:r3=int(rnd(14))+2:r4=int(rnd(6))+2:r5=int(rnd(14))+2:r6=int(rnd(6))+2:position object 1,100,110,0:autocam off:for x=5 to 10 :level(10,x,0)=0:next x:position camera 100,50,-150:point camera 100,50,0:level(r1,r2,0)=0:level(r3,r4,0)=0:level(r5,r6,0)=0:
position object 10,r1*10,r2*10,0:position object 11,r3*10,r4*10,0:position object 12,r5*10,r6*10,0:cnt=99:for x=0 to 20:for y=1 to 10:cnt=cnt+1:level(x,y,1)=cnt:make object box cnt,10,10,10:color object cnt,rgb(200,50,50):position object cnt,x*10,y*10,0:next y:next x:level(r1-1,r2,0)=0:level(r3-1,r4,0)=0:level(r5-1,r6,0)=0:level(r1+1,r2,0)=0:level(r3+1,r4,0)=0:level(r5+1,r6,0)=0:for x=1 to 6:a=int(rnd(15))+2:b=int(rnd(8)):level(a,b,0)=0:level(a-1,b,0)=0:next x:make object plain 81,100,200:color object 81,rgb(150,0,0):position object 81,-50,3,-10:make object plain 82,100,200:color object 82,rgb(150,0,0):position object 82,250,3,-10:make object plain 83,200,115:color object 83,rgb(150,0,0):position object 83,100,-50,-10:for x=0 to 20:for y=1 to 10:if level(x,y,0)=0 then delete object level(x,y,1)
next y:next x:make object plain 80,500,500:position object 80,100,55,5:color object 80,rgb(0,100,0):e1=1:e2=1:e3=1:hide object 2:hide mouse:play music 1:for y=1 to 50:position object 1,object position x(1),object position y(1)-1,object position z(1):set cursor 1,1:print "HiScore=";hiscore;" score=";score:sync:next y:sleep 4000:loop music 2:pause music 2
do:bb=bb+1:x1=int(object position x(1)/10):y1=int(object position y(1)/10):if upkey()=1 then y1=y1+1 else if downkey()=1 then y1=y1-1 else if leftkey()=1 then x1=x1-1 else if rightkey()=1 then x1=x1+1
sleep 200:if x1<0 then x1=0 else if x1>20 then x1=20 else if y1=>10 then y1=10 else if y1=<1 then y1=1
position object 1,x1*10,y1*10,0:if object exist(level(x1,y1,1))=1 then delete object level(x1,y1,1):score=score-2:if score=<0 then score=0
if r1=x1 and r2=y1 and e1=1 or r3=x1 and r4=y1 and e2=1 or r5=x1 and r6=y1 and e3=1 then set cursor 300,235:position object 1,x1*10,y1*10,0:sync:print "GAME OVER!":stop music 2:sync:sleep 5000:show object 10:show object 11:show object 12:lvl=0:goto restgame
set cursor 1,1:print "HiScore=";hiscore;" score=";score:if spacekey()=1 then show object 2:position object 2,object position x(1),object position y(1),0:sync:sleep 200:hide object 2:if x1-2=r1 and y1=r2 then gosub kill1 else if x1+2=r1 and y1=r2 then gosub kill1 else if x1-2=r3 and y1=r4 then gosub kill2 else if x1+2=r3 and y1=r4 then gosub kill2 else if x1-2=r5 and y1=r6 then gosub kill3 else if x1+2=r5 and y1=r6 then gosub kill3
if e1=0 and e2=0 and e3=0 then set cursor 300,235:print "Level ";lvl;" Completed!";:stop music 2:score=score+100:pause music 2:sync:sleep 2000:goto restgame
if bb=>10-lvl then bb=0:a=int(rnd(2)-1):b=int(rnd(2)-1):r1=r1+a:r2=r2+b:a=int(rnd(2)-1):b=int(rnd(2)-1):r3=r3+a:r4=r4+b:a=int(rnd(2)-1):b=int(rnd(2)-1):r5=r5+a:r6=r6+b
if r1=<2 then r1=2 else if r1=>18 then r1=18 else if r2=<2 then r2=2 else if r2=>8 then r2=8 else if r3=<2 then r3=2 else if r3=>18 then r3=18 else if r4=<2 then r4=2 else if r4=>8 then r4=8 else if r5=<2 then r5=2 else if r5=>18 then r5=18 else if r6=<2 then r6=2 else if r6=>8 then r6=8
position object 10,r1*10,r2*10,0:position object 11,r3*10,r4*10,0:position object 12,r5*10,r6*10,0:sync:if upkey()=1 or downkey()=1 or leftkey()=1 or rightkey()=1 then resume music 2 else pause music 2
loop
kill1:score=score+100:for x=1 to 100:scale object 10,object size x(10)+x+100,object size y(10)+x+60,object size z(10):sync:next x:e1=0:scale object 10,100,60,40:hide object 10:return
kill2:score=score+100:for x=1 to 100:scale object 11,object size x(11)+x+100,object size y(11)+x+60,object size z(11):sync:next x:e2=0:scale object 11,100,60,40:hide object 11:return
kill3:score=score+200:for x=1 to 100:scale object 12,object size x(12)+x+80,object size y(12)+x+80,object size z(12):sync:next x:e3=0:scale object 12,80,80,80:hide object 12:return
restgame: for x=80 to 1000:if object exist(x)=1 then delete object x:
next x:bb=0:stop music 1:stop music 2:if hiscore<score then hiscore=score:
lvl=lvl+1:if e1=0 and e2=0 and e3=0 then goto makelevel else score=0:stop music 1:stop music 2:lvl=1:goto makelevel
`
`end of 20 lines of code
(note this vr>200k and has exe file......below is a version i did that is less then 200k in media