REM>.!RunImage REM Squished by MH's BASIC cruncher v1.30 16/9/89 On 24 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":IFFNb(".Resources.HiTable")<>1THEN IFNOTFNgTHENaa%=FALSE ELSE:PROCf ENDIF b%=0:e%=4:c%=8:l%=12:r%=16:s%=20:k%=24:B%=28:C%=32:E%=36:I%=40:N%=44:V%=48:O%=C%:P%=E%:W%=I%:F%=C%:Q%=E%:DIMj% 52,p% 52:MODE28:OFF:PROCd:p%!c%=FNa(6,1):p%!l%=FNa(6,2):p%!F%=j%!l%-50:p%!Q%=30 REPEAT:CLS:L%=FNh:IFNOTL%THENCLS:PROCg UNTILL%:CLS:PRINT"GoodBye!":END DEFFNh:LOCALi%,u%,w%,a$,b$:DIMu% 52,w% 52:u%!c%=FNa(100,1):u%!l%=FNa(40,2):u%!b%=FNc(u%!c%,j%!c%):u%!e%=800:w%!c%=FNa(150,1):w%!l%=FNa(40,2):w%!b%=FNc(w%!c%,j%!c%):w%!e%=u%!e%-w%!l%:PROCb(p%!F%):PROCb(p%!Q%):FORi%=0-u%!c%TOu%!b%STEP5:PROCa("space",i%,u%!e%):NEXTi% FORi%=j%!c%TOw%!b%STEP-5:PROCa("invaders",i%,w%!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:LOCALd%,g%,a%,G%,R%:DIMd% 52,g% 52,a% 52:R%=N%:d%!c%=FNa(30,1):d%!l%=FNa(15,2):d%!b%=FNc(d%!c%,j%!c%):d%!e%=50:d%!s%=6:d%!R%=3:d%!r%=d%!s%:g%!c%=FNa(5,1):g%!l%=FNa(20,2):g%!k%=FALSE:g%!s%=10 a%!c%=FNa(40,1):a%!l%=FNa(20,2):a%!e%=p%!F%-(10+a%!l%):a%!s%=5:a%!k%=FALSE:PROCh:REPEAT:G%=0:IFINKEY(-74)THENPROCi(d%!b%,d%!e%) IFINKEY(-98)THENPROCj:G%=1 IFINKEY(-67)THENPROCk:G%=2 IFINKEY(-82)THENPROCl IFG%>0THEN IFG%<=2THEN d%!b%+=d%!r%:PROCa("base",d%!b%,d%!e%) ENDIF ENDIF PROCm:PROCn:UNTILd%!R%=0:ENDPROC DEFPROCj:IFd%!b%<=0THENd%!b%=0:ENDPROC d%!r%=0-d%!s%:ENDPROC DEFPROCk:IFd%!b%>=j%!c%-d%!c%THEN d%!b%=j%!c%-d%!c%:ENDPROC ENDIF d%!r%=0+d%!s%:ENDPROC DEFPROCi(x%,y%):IFg%!k%THENENDPROC g%!k%=TRUE:g%!b%=x%+(d%!c%/2):g%!e%=y%+d%!l%:ENDPROC DEFPROCl:REPEAT:UNTILNOTINKEY(-82):OSCLI"ScreenSave .Dump":ENDPROC DEFPROCm:LOCALJ%,S%:J%=C%:IFNOTg%!k%THENENDPROC g%!J%=FALSE:IFg%!e%>=p%!F%-g%!l%THEN g%!k%=FALSE:g%!J%=TRUE ENDIF IFg%!J%THEN S%=FNi(g%):S%!e%-=2:PROCc(S%,0) ELSE:PROCa("shell",g%!b%,g%!e%) ENDIF g%!e%+=g%!s%:ENDPROC DEFPROCn:LOCALz%,v%,D%:z%=C%:v%=E%:D%=I%:IFNOTa%!k%THEN IFFNd(3)ANDFNd(1)THEN a%!k%=TRUE:a%!B%=FALSE:a%!D%=0:IFFNd(50)THEN a%!r%=0-a%!s%:a%!b%=j%!c% ELSE:a%!r%=0+a%!s%:a%!b%=0-a%!c% ENDIF ENDIF ELSE:a%!D%+=1:a%!v%+=1:IFa%!b%<=0-a%!c%ANDSGN(a%!r%)=-1THEN a%!z%=FALSE:a%!k%=FALSE:a%!v%=0:ENDPROC ENDIF IFa%!b%>j%!c%ANDSGN(a%!r%)=1THEN a%!z%=FALSE:a%!k%=FALSE:a%!v%=0:ENDPROC ENDIF IFNOTa%!B%THEN IFFNf(g%,a%)THEN PROCc(g%,0):PROCa("saucer_2",a%!b%,a%!e%):a%!z%=a%!v%:a%!B%=TRUE:g%!k%=FALSE ENDIF ELSE:IFFNf(g%,a%)THEN PROCc(g%,0):g%!k%=FALSE ENDIF ENDIF IFNOTa%!B%THEN IFa%!D%>=100THENa%!D%=0 IFa%!D%<50THEN PROCa("saucer_0",a%!b%,a%!e%) ELSE:PROCa("saucer_1",a%!b%,a%!e%) ENDIF a%!b%+=a%!r% ELSE:IFa%!v%>=a%!z%+200THEN PROCc(a%,0):a%!k%=FALSE:a%!z%=FALSE:a%!v%=0 ELSE:IFa%!v%>=a%!z%+175THEN PROCa("saucer_5",a%!b%,a%!e%) ELSE:IFa%!v%>=a%!z%+150THEN PROCa("saucer_4",a%!b%,a%!e%) ELSE:IFa%!v%>=a%!z%+100THEN PROCa("saucer_3",a%!b%,a%!e%) ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDPROC DEFFNg: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:PROCb(p%!F%):PROCb(p%!Q%):PROCa("base",d%!b%,d%!e%):ENDPROC DEFPROCb(e%):LOCALi%,X%:X%=j%!c%/p%!c%:FORi%=1TOX%+1:PROCa("rail",(i%-1)*p%!c%,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%!c%=(o%!8)+1<j%!W%THENPROCd CASEY%OF WHEN1:H%=K%<>j%!O% WHEN4:H%=K%>>j%!P% OTHERWISE:ERROR255,"Unknown FNconv_units() operation : "+STR$(Y%) ENDCASE =H% DEFPROCe(a$,x%,y%):LOCALi%:PRINTTAB(x%,y%);:FORi%=1TOLEN(a$):IFi%=A%!b%ANDh%!b%<=_%THENT%=TRUE IFh%!e%>=A%!e%ANDh%!e%<=`%THENU%=TRUE ENDIF =T%ANDU% DEFFNi(h%):LOCALm%:DIMm% 52:m%!b%=h%!b%:m%!e%=h%!e%:m%!c%=h%!c%:m%!l%=h%!l%:m%!r%=h%!r%:m%!s%=h%!s%:m%!k%=h%!k%:m%!B%=h%!B%:m%!C%=h%!C%:m%!E%=h%!E%:m%!I%=h%!I%:m%!N%=h%!N%:m%!V%=h%!V%:=m% DEFPROCc(h%,ba%):GCOLba%:RECTANGLEFILLh%!b%,h%!e%,h%!c%,h%!l%:ENDPROC DEFPROCa(d$,x%,y%):OSCLI"SChoose "+d$:PLOT237,x%,y%:ENDPROC DEFFNc(ca%,j%):=(j%/2)-(ca%/2) DEFFNe(a$,da%):=(da%/2)-(LEN(a$)/2) DEFFNd(n%):LOCALea%:ea%=RND(100):=ea%<=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$ DEFPROCo(n%):LOCALt%:t%=TIME+n%:REPEAT:UNTILTIME>=t%:ENDPROC