REM>.!RunImage REM Squished by MH's BASIC cruncher v1.30 16/9/89 On 26 Nov 2007 ONERRORREPORT:PRINT" at line ";ERL:END Q%=FALSE:aa%=TRUE:DIMa$(10),a%(10):R%=0:IFFNd(".Resources.Gfx0")<>1THENR%+=1 IFFNd(".Resources.Gfx1")<>1THENR%+=1 IFR%THENERROR255,"File Missing!!" OSCLI"SLoad .Resources.Gfx0":OSCLI"SMerge .Resources.Gfx1":IFFNd(".Resources.HiTable")<>1THEN IFNOTFNhTHENaa%=FALSE ELSE:PROCg ENDIF c%=0:b%=4:d%=8:j%=12:u%=16:v%=20:m%=24:F%=28:G%=32:I%=36:N%=40:S%=44:_%=48:T%=G%:U%=I%:`%=N%:J%=G%:V%=I%:DIMh% 52,r% 52:MODE28:OFF:PROCf:r%!d%=FNa(6,1):r%!j%=FNa(6,2):r%!J%=h%!j%-50:r%!V%=30 REPEAT:CLS:Q%=FNi:IFNOTQ%THENCLS:PROCh UNTILQ%:CLS:PRINT"GoodBye!":END DEFFNi:LOCALi%,w%,A%,l%:DIMw% 52,A% 52,l% 52:w%!d%=FNa(100,1):w%!j%=FNa(40,2):w%!c%=FNb(w%,h%):w%!b%=800:A%!d%=FNa(150,1):A%!j%=FNa(40,2):A%!c%=FNb(A%,h%):A%!b%=w%!b%-A%!j%:l%!d%=530:l%!j%=500:l%!c%=FNb(l%,h%):l%!b%=200 PROCd(r%!J%):PROCd(r%!V%):FORi%=0-w%!d%TOw%!c%STEP5:PROCa("space",i%,w%!b%):NEXTi%:FORi%=h%!d%TOA%!c%STEP-5:PROCa("invaders",i%,A%!b%):NEXTi%:a$="PRESS SPACE TO PLAY":C%=LEN(a$)*FNa(8,1):PROCb(FNc(C%,h%!d%),170,a$,10):a$="OR Q TO QUIT":C%=LEN(a$)*FNa(8,1) PROCb(FNc(C%,h%!d%),145,a$,10):WHILENOTINKEY(-99)ANDNOTINKEY(-17):PROCc(l%):PROCi:PROCe(1000):PROCc(l%):PROCj:PROCe(1000):ENDWHILE:IFINKEY(-17)THEN=TRUE =FALSE DEFPROCi:LOCALC%,x%,a$,a%,q%,D%,K%:DIMa% 52,q% 52,ba% 52,ca% 52:a%!d%=FNa(40,1):a%!j%=FNa(20,2):a%!c%=l%!c%+100:a%!b%=(l%!b%+l%!j%)-160:q%!d%=FNa(20,1):q%!j%=FNa(20,2):q%!c%=l%!c%+100+FNb(q%,a%):D%=FNe(q%):K%=FNe(q%) q%!b%=l%!b%+100:D%!b%=q%!b%+q%!j%+40:K%!b%=D%!b%+D%!j%+40:a$="SCORE ADVANCE":C%=LEN(a$)*FNa(8,1):x%=l%!c%+FNc(C%,l%!d%):PROCb(x%,(l%!b%+l%!j%)-20,a$,0):a$="TABLE":C%=LEN(a$)*FNa(8,1):x%=l%!c%+FNc(C%,l%!d%) PROCb(x%,(l%!b%+l%!j%)-45,a$,0):PROCa("saucer_0",a%!c%,a%!b%):PROCa("inv_1",q%!c%,q%!b%):PROCa("inv_2",D%!c%,D%!b%):PROCa("inv_3",K%!c%,K%!b%):x%=a%!c%+a%!d%+10:PROCb(x%,a%!b%+10,"= 500 POINTS !",0):PROCb(x%,q%!b%+20,"= 50 POINTS !",0) PROCb(x%,D%!b%+20,"= 75 POINTS !",0):PROCb(x%,K%!b%+20,"= 100 POINTS !",0):ENDPROC DEFPROCj:ENDPROC DEFPROCh:LOCALe%,g%,a%,L%,W%:DIMe% 52,g% 52,a% 52:W%=S%:e%!d%=FNa(30,1):e%!j%=FNa(15,2):e%!c%=FNb(e%,h%):e%!b%=50:e%!v%=6:e%!W%=3:e%!u%=e%!v%:g%!d%=FNa(5,1):g%!j%=FNa(20,2):g%!m%=FALSE:g%!v%=10:a%!d%=FNa(40,1):a%!j%=FNa(20,2) a%!b%=r%!J%-(10+a%!j%):a%!v%=5:a%!m%=FALSE:PROCk:REPEAT:L%=0:IFINKEY(-74)THENPROCl(e%!c%,e%!b%) IFINKEY(-98)THENPROCm:L%=1 IFINKEY(-67)THENPROCn:L%=2 IFINKEY(-82)THENPROCo IFL%>0THEN IFL%<=2THEN e%!c%+=e%!u%:PROCa("base",e%!c%,e%!b%) ENDIF ENDIF PROCp:PROCq:UNTILe%!W%=0:ENDPROC DEFPROCm:IFe%!c%<=0THENe%!c%=0:ENDPROC e%!u%=0-e%!v%:ENDPROC DEFPROCn:IFe%!c%>=h%!d%-e%!d%THEN e%!c%=h%!d%-e%!d%:ENDPROC ELSE:e%!u%=0+e%!v% ENDIF ENDPROC DEFPROCl(x%,y%):IFg%!m%THENENDPROC g%!m%=TRUE:g%!c%=x%+(e%!d%/2):g%!b%=y%+e%!j%:ENDPROC DEFPROCo:ENDPROC REPEAT:UNTILNOTINKEY(-82):OSCLI"ScreenSave .Dump":ENDPROC DEFPROCp:LOCALO%,X%:O%=G%:IFNOTg%!m%THENENDPROC g%!O%=FALSE:IFg%!b%>=r%!J%-g%!j%THEN g%!m%=FALSE:g%!O%=TRUE ENDIF IFg%!O%THEN X%=FNe(g%):X%!b%-=2:PROCc(X%) ELSE:PROCa("shell",g%!c%,g%!b%) ENDIF g%!b%+=g%!v%:ENDPROC DEFPROCq:LOCALB%,z%,H%:B%=G%:z%=I%:H%=N%:IFNOTa%!m%THEN IFFNf(3)ANDFNf(1)THEN a%!m%=TRUE:a%!F%=FALSE:a%!H%=0:IFFNf(50)THEN a%!u%=0-a%!v%:a%!c%=h%!d% ELSE:a%!u%=0+a%!v%:a%!c%=0-a%!d% ENDIF ENDIF ELSE:a%!H%+=1:a%!z%+=1:IFa%!c%<=0-a%!d%ANDSGN(a%!u%)=-1THEN a%!B%=FALSE:a%!m%=FALSE:a%!z%=0:ENDPROC ENDIF IFa%!c%>h%!d%ANDSGN(a%!u%)=1THEN a%!B%=FALSE:a%!m%=FALSE:a%!z%=0:ENDPROC ENDIF IFNOTa%!F%THEN IFFNg(g%,a%)THEN PROCc(g%):PROCa("saucer_2",a%!c%,a%!b%):a%!B%=a%!z%:a%!F%=TRUE:g%!m%=FALSE ENDIF ELSE:IFFNg(g%,a%)THEN PROCc(g%,0):g%!m%=FALSE ENDIF ENDIF IFNOTa%!F%THEN IFa%!H%>=100THENa%!H%=0 IFa%!H%<50THEN PROCa("saucer_0",a%!c%,a%!b%) ELSE:PROCa("saucer_1",a%!c%,a%!b%) ENDIF a%!c%+=a%!u% ELSE:IFa%!z%>=a%!B%+200THEN PROCc(a%):a%!m%=FALSE:a%!B%=FALSE:a%!z%=0 ELSE:IFa%!z%>=a%!B%+175THEN PROCa("saucer_5",a%!c%,a%!b%) ELSE:IFa%!z%>=a%!B%+150THEN PROCa("saucer_4",a%!c%,a%!b%) ELSE:IFa%!z%>=a%!B%+100THEN PROCa("saucer_3",a%!c%,a%!b%) ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDPROC DEFFNh:LOCALi%,s%,n$:FORi%=1TO10:IFi%MOD2=0THENn$="DynaByte"ELSEn$="Software" a$(i%)=FNj(n$):a%(i%)=(11-i%)*1000:NEXTi%:s%=OPENOUT".Resources.HiTable":IFs%=0THEN=FALSE FORi%=1TO10:PRINT#s%,a$(i%),a%(i%):NEXTi%:CLOSE#s%:=TRUE DEFPROCg:LOCALi%,s%:s%=OPENIN".Resources.HiTable":FORi%=1TO10:INPUT#s%,a$(i%),a%(i%):NEXTi%:CLOSE#s%:ENDPROC DEFPROCr:LOCALi%,s%:s%=OPENOUT".Resources.HiTable":FORi%=1TO10:PRINT#s%,a$(i%),a%(i%):NEXTi%:CLOSE#s%:ENDPROC DEFPROCk:PROCd(r%!J%):PROCd(r%!V%):PROCa("base",e%!c%,e%!b%):ENDPROC DEFPROCd(b%):LOCALi%,da%:da%=h%!d%/r%!d%:FORi%=1TOda%+1:PROCa("rail",(i%-1)*r%!d%,b%):NEXTi%:ENDPROC DEFPROCf:LOCALp%:DIMp% 20:p%!0=4:p%!4=5:p%!8=11:p%!12=12:p%!16=-1:SYS"OS_ReadVduVariables",p%,p%:h%!T%=p%!0:h%!U%=p%!4:h%!d%=(p%!8)+1<h%!`%THENPROCf CASEea%OF WHEN1:M%=P%<>h%!T% WHEN4:M%=P%>>h%!U% OTHERWISE:ERROR255,"Unknown FNconv_units() operation : "+STR$(ea%) ENDCASE =M% DEFPROCb(x%,y%,a$,ga%):LOCALi%,ha%:ha%=FNa(8,1):FORi%=1TOLEN(a$):PROCa(STR$(ASC(MID$(a$,i%,1))),x%+((i%-1)*ha%),y%):IFga%>0THENPROCe(ga%) NEXTi%:ENDPROC DEFFNg(k%,E%):LOCALia%,ja%,Y%,Z%:Y%=FALSE:Z%=FALSE:IFk%!m%ANDE%!m%THEN ia%=E%!c%+E%!d%:ja%=E%!b%+E%!j%:IFk%!c%>=E%!c%ANDk%!c%<=ia%THENY%=TRUE IFk%!b%>=E%!b%ANDk%!b%<=ja%THENZ%=TRUE ENDIF =Y%ANDZ% DEFFNe(k%):LOCALo%:DIMo% 52:o%!c%=k%!c%:o%!b%=k%!b%:o%!d%=k%!d%:o%!j%=k%!j%:o%!u%=k%!u%:o%!v%=k%!v%:o%!m%=k%!m%:o%!F%=k%!F%:o%!G%=k%!G%:o%!I%=k%!I%:o%!N%=k%!N%:o%!S%=k%!S%:o%!_%=k%!_%:=o% DEFPROCc(k%):GCOL0,0TINT0:RECTANGLEFILLk%!c%,k%!b%,k%!d%,k%!j%:ENDPROC DEFFNc(ka%,h%):=(h%/2)-(ka%/2) DEFFNb(la%,ma%):=(ma%!d%/2)-(la%!d%/2) DEFPROCa(c$,x%,y%):OSCLI"SChoose "+c$:PLOT237,x%,y%:ENDPROC DEFFNf(n%):LOCALna%:na%=RND(100):=na%<=n% DEFFNd(f$):LOCALf%:SYS"XOS_File",17,f$TOf%:=f% DEFFNj(a$):LOCALi%,b$:FORi%=1TOLEN(a$):b$+=CHR$(ASC(MID$(a$,i%,1))EOR131):NEXTi%:=b$ DEFPROCe(n%):LOCALt%:t%=TIME+n%:REPEAT:UNTILTIME>=t%:ENDPROC