REM>.!RunImage REM Squished by MH's BASIC cruncher v1.30 16/9/89 On 25 Nov 2007 ONERRORREPORT:PRINT" at line ";ERL:END N%=FALSE:aa%=TRUE:DIMa$(10),a%(10):O%=0:IFFNc(".Resources.Gfx0")<>1THENO%+=1 IFFNc(".Resources.M28Pal")<>1THENO%+=1 IFO%THENERROR255,"File Missing!!" OSCLI"SLoad .Resources.Gfx0":IFFNc(".Resources.HiTable")<>1THEN IFNOTFNhTHENaa%=FALSE ELSE:PROCf ENDIF c%=0:d%=4:b%=8:k%=12:r%=16:s%=20:l%=24:C%=28:D%=32:F%=36:K%=40:P%=44:X%=48:Q%=D%:R%=F%:Y%=K%:G%=D%:S%=F%:DIMj% 52,p% 52:MODE28:OFF:PROCd:p%!b%=FNa(6,1):p%!k%=FNa(6,2):p%!G%=j%!k%-50:p%!S%=30 REPEAT:CLS:N%=FNi:IFNOTN%THENCLS:PROCg UNTILN%:CLS:PRINT"GoodBye!":END DEFFNi:LOCALi%,u%,w%,A%,H%,ba%,ca%,a$:DIMu% 52,w% 52,A% 52:DIMa% 52,H% 52:u%!b%=FNa(100,1):u%!k%=FNa(40,2):u%!c%=FNb(u%!b%,j%!b%):u%!d%=800:w%!b%=FNa(150,1):w%!k%=FNa(40,2):w%!c%=FNb(w%!b%,j%!b%):w%!d%=u%!d%-w%!k% A%!b%=530:A%!k%=500:A%!c%=FNb(A%!b%,j%!b%):A%!d%=200:a%!b%=FNa(40,1):a%!k%=FNa(20,2):H%!b%=FNa(20,1):H%!k%=FNa(20,2):ba%=FNd(H%):ca%=FNd(H%):PROCc(p%!G%):PROCc(p%!S%):FORi%=0-u%!b%TOu%!c%STEP5:PROCa("space",i%,u%!d%):NEXTi%:FORi%=j%!b%TOw%!c%STEP-5 PROCa("invaders",i%,w%!d%):NEXTi%:a$="PRESS SPACE TO PLAY":PROCe(a$,FNf(a$,80),51):a$="OR Q TO QUIT":PROCe(a$,FNf(a$,80),53):WHILENOTINKEY(-99)ANDNOTINKEY(-17):PROCb(A%):ENDWHILE:IFINKEY(-17)THEN=TRUE =FALSE DEFPROCg:LOCALe%,g%,a%,I%,T%:DIMe% 52,g% 52,a% 52:T%=P%:e%!b%=FNa(30,1):e%!k%=FNa(15,2):e%!c%=FNb(e%!b%,j%!b%):e%!d%=50:e%!s%=6:e%!T%=3:e%!r%=e%!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%!d%=p%!G%-(10+a%!k%):a%!s%=5:a%!l%=FALSE:PROCh:REPEAT:I%=0:IFINKEY(-74)THENPROCi(e%!c%,e%!d%) IFINKEY(-98)THENPROCj:I%=1 IFINKEY(-67)THENPROCk:I%=2 IFINKEY(-82)THENPROCl IFI%>0THEN IFI%<=2THEN e%!c%+=e%!r%:PROCa("base",e%!c%,e%!d%) ENDIF ENDIF PROCm:PROCn:UNTILe%!T%=0:ENDPROC DEFPROCj:IFe%!c%<=0THENe%!c%=0:ENDPROC e%!r%=0-e%!s%:ENDPROC DEFPROCk:IFe%!c%>=j%!b%-e%!b%THEN e%!c%=j%!b%-e%!b%:ENDPROC ENDIF e%!r%=0+e%!s%:ENDPROC DEFPROCi(x%,y%):IFg%!l%THENENDPROC g%!l%=TRUE:g%!c%=x%+(e%!b%/2):g%!d%=y%+e%!k%:ENDPROC DEFPROCl:ENDPROC REPEAT:UNTILNOTINKEY(-82):OSCLI"ScreenSave .Dump":ENDPROC DEFPROCm:LOCALL%,U%:L%=D%:IFNOTg%!l%THENENDPROC g%!L%=FALSE:IFg%!d%>=p%!G%-g%!k%THEN g%!l%=FALSE:g%!L%=TRUE ENDIF IFg%!L%THEN U%=FNd(g%):U%!d%-=2:PROCb(U%,0) ELSE:PROCa("shell",g%!c%,g%!d%) ENDIF g%!d%+=g%!s%:ENDPROC DEFPROCn:LOCALz%,v%,E%:z%=D%:v%=F%:E%=K%:IFNOTa%!l%THEN IFFNe(3)ANDFNe(1)THEN a%!l%=TRUE:a%!C%=FALSE:a%!E%=0:IFFNe(50)THEN a%!r%=0-a%!s%:a%!c%=j%!b% ELSE:a%!r%=0+a%!s%:a%!c%=0-a%!b% ENDIF ENDIF ELSE:a%!E%+=1:a%!v%+=1:IFa%!c%<=0-a%!b%ANDSGN(a%!r%)=-1THEN a%!z%=FALSE:a%!l%=FALSE:a%!v%=0:ENDPROC ENDIF IFa%!c%>j%!b%ANDSGN(a%!r%)=1THEN a%!z%=FALSE:a%!l%=FALSE:a%!v%=0:ENDPROC ENDIF IFNOTa%!C%THEN IFFNg(g%,a%)THEN PROCb(g%):PROCa("saucer_2",a%!c%,a%!d%):a%!z%=a%!v%:a%!C%=TRUE:g%!l%=FALSE ENDIF ELSE:IFFNg(g%,a%)THEN PROCb(g%,0):g%!l%=FALSE ENDIF ENDIF IFNOTa%!C%THEN IFa%!E%>=100THENa%!E%=0 IFa%!E%<50THEN PROCa("saucer_0",a%!c%,a%!d%) ELSE:PROCa("saucer_1",a%!c%,a%!d%) ENDIF a%!c%+=a%!r% ELSE:IFa%!v%>=a%!z%+200THEN PROCb(a%):a%!l%=FALSE:a%!z%=FALSE:a%!v%=0 ELSE:IFa%!v%>=a%!z%+175THEN PROCa("saucer_5",a%!c%,a%!d%) ELSE:IFa%!v%>=a%!z%+150THEN PROCa("saucer_4",a%!c%,a%!d%) ELSE:IFa%!v%>=a%!z%+100THEN PROCa("saucer_3",a%!c%,a%!d%) ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDPROC DEFFNh: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 DEFPROCp:LOCALi%,q%:q%=OPENOUT".Resources.HiTable":FORi%=1TO10:PRINT#q%,a$(i%),a%(i%):NEXTi%:CLOSE#q%:ENDPROC DEFPROCh:PROCc(p%!G%):PROCc(p%!S%):PROCa("base",e%!c%,e%!d%):ENDPROC DEFPROCc(d%):LOCALi%,Z%:Z%=j%!b%/p%!b%:FORi%=1TOZ%+1:PROCa("rail",(i%-1)*p%!b%,d%):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%!Q%=o%!0:j%!R%=o%!4:j%!b%=(o%!8)+1<j%!Y%THENPROCd CASE_%OF WHEN1:J%=M%<>j%!Q% WHEN4:J%=M%>>j%!R% OTHERWISE:ERROR255,"Unknown FNconv_units() operation : "+STR$(_%) ENDCASE =J% DEFPROCe(a$,x%,y%):LOCALi%:PRINTTAB(x%,y%);:FORi%=1TOLEN(a$):IFi%=B%!c%ANDh%!c%<=da%THENV%=TRUE IFh%!d%>=B%!d%ANDh%!d%<=ea%THENW%=TRUE ENDIF =V%ANDW% DEFFNd(h%):LOCALm%:DIMm% 52:m%!c%=h%!c%:m%!d%=h%!d%:m%!b%=h%!b%:m%!k%=h%!k%:m%!r%=h%!r%:m%!s%=h%!s%:m%!l%=h%!l%:m%!C%=h%!C%:m%!D%=h%!D%:m%!F%=h%!F%:m%!K%=h%!K%:m%!P%=h%!P%:m%!X%=h%!X%:=m% DEFPROCb(h%):GCOL0,0TINT0:RECTANGLEFILLh%!c%,h%!d%,h%!b%,h%!k%:ENDPROC DEFPROCa(c$,x%,y%):OSCLI"SChoose "+c$:PLOT237,x%,y%:ENDPROC DEFFNb(fa%,j%):=(j%/2)-(fa%/2) DEFFNf(a$,ga%):=(ga%/2)-(LEN(a$)/2) DEFFNe(n%):LOCALha%:ha%=RND(100):=ha%<=n% DEFFNc(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$ DEFPROCo(n%):LOCALt%:t%=TIME+n%:REPEAT:UNTILTIME>=t%:ENDPROC