REM>.!RunImage REM Squished by MH's BASIC cruncher v1.30 16/9/89 On 19 Nov 2007 ONERRORREPORT:PRINT" at line ";ERL:END G%=FALSE:S%=TRUE:DIMa$(10),a%(10):L%=0:IFFNd(".Resources.Gfx0")<>1THENL%+=1 IFL%THENERROR255,"File Missing!!" OSCLI"SLoad .Resources.Gfx0":IFFNd(".Resources.HiTable")<>1THEN IFNOTFNfTHENS%=FALSE ELSE:PROCe ENDIF d%=0:h%=4:c%=8:k%=12:q%=16:r%=20:A%=24:w%=28:M%=32:N%=36:H%=A%:I%=w%:O%=M%:J%=A%:T%=w%:DIMg% 40,l% 40:PROCf(28,FALSE):l%!c%=FNa(6,1):l%!k%=FNa(6,2):l%!J%=g%!k%-50:l%!T%=30:REPEAT:CLS:G%=FNg:IFNOTG%THENCLS:PROCg UNTILG%:CLS:PRINT"GoodBye!":END DEFFNg:LOCALi%,p%,s%,a$,b$:DIMp% 40,s% 40:p%!c%=FNa(100,1):p%!k%=FNa(40,2):p%!d%=FNb(p%!c%,g%!c%):p%!h%=800:s%!c%=FNa(150,1):s%!k%=FNa(40,2):s%!d%=FNb(s%!c%,g%!c%):s%!h%=p%!h%-s%!k%:PROCb(l%!A%):PROCb(l%!w%):FORi%=0-p%!c%TOp%!d%STEP5:PROCa("space",i%,p%!h%):NEXTi% FORi%=g%!c%TOs%!d%STEP-5:PROCa("invaders",i%,s%!h%):NEXTi%:a$="PRESS SPACE TO PLAY":PROCc(a$,FNe(a$,80),51):a$="OR Q TO QUIT":PROCc(a$,FNe(a$,80),53):REPEAT:b$=GET$:UNTILINSTR(" Qq",b$)<>0:IFb$="Q"ORb$="q"THEN=TRUE =FALSE DEFPROCg:LOCALb%,e%,a%,B%,K%,o%:DIMb% 40,e% 40,a% 40:K%=N%:o%=A%:b%!c%=FNa(30,1):b%!k%=FNa(15,2):b%!d%=FNb(b%!c%,g%!c%):b%!h%=50:b%!r%=6:b%!K%=3:b%!q%=b%!r%:e%!c%=FNa(5,1):e%!k%=FNa(20,2):e%!o%=FALSE:e%!r%=10 a%!c%=FNa(40,1):a%!k%=FNa(20,2):a%!h%=l%!J%-(20+a%!k%):a%!r%=5:PROCh:REPEAT:B%=0:IFINKEY(-74)THENPROCi(b%!d%,b%!h%) IFINKEY(-98)THENPROCj:B%=1 IFINKEY(-67)THENPROCk:B%=2 IFB%>0THEN IFB%<=2THEN b%!d%+=b%!q%:PROCa("base",b%!d%,b%!h%) ENDIF ENDIF PROCl:PROCm:UNTILb%!K%=0:ENDPROC DEFPROCj:IFb%!d%<=0THENb%!d%=0:ENDPROC b%!q%=0-b%!r%:ENDPROC DEFPROCk:IFb%!d%>=g%!c%-b%!c%THEN b%!d%=g%!c%-b%!c%:ENDPROC ENDIF b%!q%=0+b%!r%:ENDPROC DEFPROCi(x%,y%):IFe%!o%THENENDPROC e%!o%=TRUE:e%!d%=x%+(b%!c%/2):e%!h%=y%+b%!k%:ENDPROC DEFPROCl:LOCALD%:D%=w%:IFNOTe%!o%THENENDPROC e%!D%=FALSE:IFe%!h%>=l%!J%-e%!k%THEN e%!o%=FALSE:e%!D%=TRUE ENDIF IFe%!D%THEN PROCa("shout",e%!d%,e%!h%-2) ELSE:PROCa("shell",e%!d%,e%!h%) ENDIF e%!h%+=e%!r%:ENDPROC DEFPROCm:LOCALu%,v%,z%:u%=w%:v%=M%:z%=N%:IFNOTa%!o%THEN IFFNc(1)ANDFNc(3)THEN a%!o%=TRUE:a%!z%=0:IFFNc(50)THEN a%!q%=0-a%!r%:a%!d%=g%!c% ELSE:a%!q%=0+a%!r%:a%!d%=0-a%!c% ENDIF ENDIF ENDPROC ELSE:IFNOTa%!u%THEN a%!z%+=1:IFa%!d%<=0-a%!c%ANDSGN(a%!q%)=-1THEN a%!u%=FALSE:a%!o%=FALSE:a%!v%=0:ENDPROC ENDIF IFa%!d%>g%!c%ANDSGN(a%!q%)=1THEN a%!u%=FALSE:a%!o%=FALSE:a%!v%=0:ENDPROC ENDIF IFFNh(e%,a%)THEN PROCa("saucer_2",a%!d%,a%!h%):a%!u%=a%!v% ELSE:IFa%!z%>=100THENa%!z%=0 IFa%!z%<50THEN PROCa("saucer_0",a%!d%,a%!h%) ELSE:PROCa("saucer_1",a%!d%,a%!h%) ENDIF a%!d%+=a%!q% ENDIF ELSE:IFa%!v%>=a%!u%+10THEN PROCa("saucer_3",a%!d%,a%!h%):a%!u%=FALSE:a%!o%=FALSE:a%!v%=0 ENDIF ENDIF a%!v%+=1 ENDIF ENDPROC DEFFNf:LOCALi%,m%,n$:FORi%=1TO10:IFi%MOD2=0THENn$="DynaByte"ELSEn$="Software" a$(i%)=FNi(n$):a%(i%)=(11-i%)*1000:NEXTi%:m%=OPENOUT".Resources.HiTable":IFm%=0THEN=FALSE FORi%=1TO10:PRINT#m%,a$(i%),a%(i%):NEXTi%:CLOSE#m%:=TRUE DEFPROCe:LOCALi%,m%:m%=OPENIN".Resources.HiTable":FORi%=1TO10:INPUT#m%,a$(i%),a%(i%):NEXTi%:CLOSE#m%:ENDPROC DEFPROCo:LOCALi%,m%:m%=OPENOUT".Resources.HiTable":FORi%=1TO10:PRINT#m%,a$(i%),a%(i%):NEXTi%:CLOSE#m%:ENDPROC DEFPROCh:PROCb(l%!A%):PROCb(l%!w%):PROCa("base",b%!d%,b%!h%):ENDPROC DEFPROCb(h%):LOCALi%,P%:P%=g%!c%/l%!c%:FORi%=1TOP%+1:PROCa("rail",(i%-1)*l%!c%,h%):NEXTi%:ENDPROC DEFPROCf(E%,U%):MODEE%:IFNOTU%THENOFF PROCd:ENDPROC DEFPROCd:LOCALj%:DIMj% 20:j%!0=4:j%!4=5:j%!8=11:j%!12=12:j%!16=-1:SYS"OS_ReadVduVariables",j%,j%:g%!H%=j%!0:g%!I%=j%!4:g%!c%=(j%!8)+1<g%!O%THENPROCd CASEQ%OF WHEN1:C%=F%<>g%!H% WHEN4:C%=F%>>g%!I% OTHERWISE:ERROR255,"Unknown FNconv_units() operation : "+STR$(Q%) ENDCASE =C% DEFPROCc(a$,x%,y%):LOCALi%:PRINTTAB(x%,y%);:FORi%=1TOLEN(a$):IFi%=t%:ENDPROC