REM>.!RunImage REM Squished by MH's BASIC cruncher v1.30 16/9/89 On 22 Nov 2007 ONERRORREPORT:PRINT" at line ";ERL:END L%=FALSE:aa%=TRUE:DIMa$(10),a%(10):M%=0:IFFNb(".Resources.Gfx0")<>1THENM%+=1 IFFNb(".Resources.M28Pal")<>1THENM%+=1 IFM%THENERROR255,"File Missing!!" OSCLI"SLoad .Resources.Gfx0":V%=OPENIN".Resources.M28Pal":FORi%=1TO1536:ba%=BGET#V%:VDUba% NEXTi%:CLOSE#V%:IFFNb(".Resources.HiTable")<>1THEN IFNOTFNfTHENaa%=FALSE ELSE:PROCf ENDIF d%=0:e%=4:b%=8:k%=12:r%=16:s%=20:l%=24:D%=28:A%=32:E%=36:I%=40:N%=44:W%=48:O%=A%:P%=E%:X%=I%:F%=A%:Q%=E%:DIMj% 52,p% 52:MODE28:OFF:PROCd:p%!b%=FNa(6,1):p%!k%=FNa(6,2):p%!F%=j%!k%-50:p%!Q%=30 REPEAT:CLS:L%=FNg:IFNOTL%THENCLS:PROCg UNTILL%:CLS:PRINT"GoodBye!":END DEFFNg:LOCALi%,u%,v%,a$,b$:DIMu% 52,v% 52:u%!b%=FNa(100,1):u%!k%=FNa(40,2):u%!d%=FNc(u%!b%,j%!b%):u%!e%=800:v%!b%=FNa(150,1):v%!k%=FNa(40,2):v%!d%=FNc(v%!b%,j%!b%):v%!e%=u%!e%-v%!k%:PROCb(p%!F%):PROCb(p%!Q%):FORi%=0-u%!b%TOu%!d%STEP5:PROCa("space",i%,u%!e%):NEXTi% FORi%=j%!b%TOv%!d%STEP-5:PROCa("invaders",i%,v%!e%):NEXTi%:a$="PRESS SPACE TO PLAY":PROCe(a$,FNe(a$,80),51):a$="OR Q TO QUIT":PROCe(a$,FNe(a$,80),53):REPEAT:b$=GET$:UNTILINSTR(" Qq",b$)<>0:IFb$="Q"ORb$="q"THEN=TRUE =FALSE DEFPROCg:LOCALc%,g%,a%,G%,R%:DIMc% 52,g% 52,a% 52:R%=N%:c%!b%=FNa(30,1):c%!k%=FNa(15,2):c%!d%=FNc(c%!b%,j%!b%):c%!e%=50:c%!s%=6:c%!R%=3:c%!r%=c%!s%:g%!b%=FNa(5,1):g%!k%=FNa(20,2):g%!l%=FALSE:g%!s%=10 a%!b%=FNa(40,1):a%!k%=FNa(20,2):a%!e%=p%!F%-(10+a%!k%):a%!s%=5:a%!l%=FALSE:PROCh:REPEAT:G%=0:IFINKEY(-74)THENPROCi(c%!d%,c%!e%) IFINKEY(-98)THENPROCj:G%=1 IFINKEY(-67)THENPROCk:G%=2 IFG%>0THEN IFG%<=2THEN c%!d%+=c%!r%:PROCa("base",c%!d%,c%!e%) ENDIF ENDIF PROCl:PROCm:UNTILc%!R%=0:ENDPROC DEFPROCj:IFc%!d%<=0THENc%!d%=0:ENDPROC c%!r%=0-c%!s%:ENDPROC DEFPROCk:IFc%!d%>=j%!b%-c%!b%THEN c%!d%=j%!b%-c%!b%:ENDPROC ENDIF c%!r%=0+c%!s%:ENDPROC DEFPROCi(x%,y%):IFg%!l%THENENDPROC g%!l%=TRUE:g%!d%=x%+(c%!b%/2):g%!e%=y%+c%!k%:ENDPROC DEFPROCl:LOCALJ%,S%:J%=A%:IFNOTg%!l%THENENDPROC g%!J%=FALSE:IFg%!e%>=p%!F%-g%!k%THEN g%!l%=FALSE:g%!J%=TRUE ENDIF IFg%!J%THEN S%=FNh(g%):S%!e%-=2:PROCc(S%,0) ELSE:PROCa("shell",g%!d%,g%!e%) ENDIF g%!e%+=g%!s%:ENDPROC DEFPROCm:LOCALB%,w%,C%:B%=A%:w%=E%:C%=I%:IFNOTa%!l%THEN IFFNd(3)ANDFNd(1)THEN a%!l%=TRUE:a%!D%=FALSE:a%!C%=0:IFFNd(50)THEN a%!r%=0-a%!s%:a%!d%=j%!b% ELSE:a%!r%=0+a%!s%:a%!d%=0-a%!b% ENDIF ENDIF ELSE:a%!C%+=1:a%!w%+=1:IFa%!d%<=0-a%!b%ANDSGN(a%!r%)=-1THEN a%!B%=FALSE:a%!l%=FALSE:a%!w%=0:ENDPROC ENDIF IFa%!d%>j%!b%ANDSGN(a%!r%)=1THEN a%!B%=FALSE:a%!l%=FALSE:a%!w%=0:ENDPROC ENDIF IFFNi(g%,a%)THEN PROCc(g%,0):PROCa("saucer_2",a%!d%,a%!e%):a%!B%=a%!w%:a%!D%=TRUE:g%!l%=FALSE ENDIF IFNOTa%!D%THEN IFa%!C%>=100THENa%!C%=0 IFa%!C%<50THEN PROCa("saucer_0",a%!d%,a%!e%) ELSE:PROCa("saucer_1",a%!d%,a%!e%) ENDIF a%!d%+=a%!r% ELSE:IFa%!w%>=a%!B%+500THEN PROCc(a%,0):a%!l%=FALSE:a%!B%=FALSE:a%!w%=0 ENDIF ENDIF ENDIF ENDPROC DEFFNf:LOCALi%,q%,n$:FORi%=1TO10:IFi%MOD2=0THENn$="DynaByte"ELSEn$="Software" a$(i%)=FNj(n$):a%(i%)=(11-i%)*1000:NEXTi%:q%=OPENOUT".Resources.HiTable":IFq%=0THEN=FALSE FORi%=1TO10:PRINT#q%,a$(i%),a%(i%):NEXTi%:CLOSE#q%:=TRUE DEFPROCf:LOCALi%,q%:q%=OPENIN".Resources.HiTable":FORi%=1TO10:INPUT#q%,a$(i%),a%(i%):NEXTi%:CLOSE#q%:ENDPROC DEFPROCo:LOCALi%,q%:q%=OPENOUT".Resources.HiTable":FORi%=1TO10:PRINT#q%,a$(i%),a%(i%):NEXTi%:CLOSE#q%:ENDPROC DEFPROCh:PROCb(p%!F%):PROCb(p%!Q%):PROCa("base",c%!d%,c%!e%):ENDPROC DEFPROCb(e%):LOCALi%,Y%:Y%=j%!b%/p%!b%:FORi%=1TOY%+1:PROCa("rail",(i%-1)*p%!b%,e%):NEXTi%:ENDPROC DEFPROCd:LOCALo%:DIMo% 20:o%!0=4:o%!4=5:o%!8=11:o%!12=12:o%!16=-1:SYS"OS_ReadVduVariables",o%,o%:j%!O%=o%!0:j%!P%=o%!4:j%!b%=(o%!8)+1<j%!X%THENPROCd CASEZ%OF WHEN1:H%=K%<>j%!O% WHEN4:H%=K%>>j%!P% OTHERWISE:ERROR255,"Unknown FNconv_units() operation : "+STR$(Z%) ENDCASE =H% DEFPROCe(a$,x%,y%):LOCALi%:PRINTTAB(x%,y%);:FORi%=1TOLEN(a$):IFi%=z%!d%ANDh%!d%<=`%THENT%=TRUE IFh%!e%>=z%!e%ANDh%!e%<=ca%THENU%=TRUE ENDIF =T%ANDU% DEFFNh(h%):LOCALm%:DIMm% 52:m%!d%=h%!d%:m%!e%=h%!e%:m%!b%=h%!b%:m%!k%=h%!k%:m%!r%=h%!r%:m%!s%=h%!s%:m%!l%=h%!l%:m%!D%=h%!D%:m%!A%=h%!A%:m%!E%=h%!E%:m%!I%=h%!I%:m%!N%=h%!N%:m%!W%=h%!W%:=m% DEFPROCc(h%,da%):GCOLda%:RECTANGLEFILLh%!d%,h%!e%,h%!b%,h%!k%:ENDPROC DEFPROCa(d$,x%,y%):OSCLI"SChoose "+d$:PLOT237,x%,y%:ENDPROC DEFFNc(ea%,j%):=(j%/2)-(ea%/2) DEFFNe(a$,fa%):=(fa%/2)-(LEN(a$)/2) DEFFNd(n%):LOCALga%:ga%=RND(100):=ga%<=n% DEFFNb(f$):LOCALf%:SYS"XOS_File",17,f$TOf%:=f% DEFFNj(a$):LOCALi%,c$:FORi%=1TOLEN(a$):c$+=CHR$(ASC(MID$(a$,i%,1))EOR131):NEXTi%:=c$ DEFPROCn(n%):LOCALt%:t%=TIME+n%:REPEAT:UNTILTIME>=t%:ENDPROC