REM>.!RunImage REM Squished by MH's BASIC cruncher v1.30 16/9/89 On 05 Dec 2007 ONERRORREPORT:PRINT" at line ";ERL:END S%=FALSE:aa%=TRUE:ba%=0:DIMa$(10),a%(10):DIMb%(10):T%=0:IFFNe(".Resources.Gfx0")<>1THENT%+=1 IFFNe(".Resources.Gfx1")<>1THENT%+=1 IFT%THENERROR255,"File Missing!!" OSCLI"SLoad .Resources.Gfx0":OSCLI"SMerge .Resources.Gfx1":IFFNe(".Resources.HiTable")<>1THEN IFNOTFNjTHENaa%=FALSE ELSE:PROCh ENDIF d%=0:c%=4:e%=8:k%=12:z%=16:A%=20:m%=24:O%=28:P%=32:ca%=36:da%=40:ea%=44:fa%=48:U%=16:V%=20:ga%=24:u%=28:D%=32:I%=P%:W%=ca%:DIMb% 36,r% 52:MODE28:OFF:PROCf:b%!u%=FNa(8,1):b%!D%=FNa(8,2)+7:r%!e%=FNa(6,1):r%!k%=FNa(6,2):r%!I%=b%!k%-50:r%!W%=30 REPEAT:CLS:S%=FNk:IFNOTS%THENCLS:PROCi UNTILS%:CLS:PRINT"GoodBye!":END DEFFNk:LOCALi%,v%,B%,h%,l%,a$,x%,a%,q%,E%:LOCALJ%,t%,y%,s$:DIMv% 16,B% 16,h% 16:DIMa% 16,q% 16:v%!e%=FNa(100,1):v%!k%=FNa(40,2):v%!d%=FNc(v%,b%):v%!c%=800:B%!e%=FNa(150,1):B%!k%=FNa(40,2):B%!d%=FNc(B%,b%):B%!c%=v%!c%-B%!k% h%!e%=530:h%!k%=500:h%!d%=FNc(h%,b%):h%!c%=200:a%!e%=FNa(40,1):a%!k%=FNa(20,2):a%!d%=h%!d%+100:a%!c%=(h%!c%+h%!k%)-160:q%!e%=FNa(20,1):q%!k%=FNa(20,2):q%!d%=h%!d%+100+FNc(q%,a%):E%=FNf(q%,16):J%=FNf(q%,16) q%!c%=h%!c%+100:E%!c%=q%!c%+q%!k%+40:J%!c%=E%!c%+E%!k%+40:PROCd(r%!I%):PROCd(r%!W%):FORi%=0-v%!e%TOv%!d%STEP5:PROCa("space",i%,v%!c%):NEXTi%:FORi%=b%!e%TOB%!d%STEP-5:PROCa("invaders",i%,B%!c%):NEXTi%:a$="PRESS SPACE TO PLAY":l%=LEN(a$)*b%!u%:y%=170 PROCb(FNb(l%,b%!e%),y%,a$,10):a$="OR Q TO QUIT":l%=LEN(a$)*b%!u%:y%-=b%!D%:PROCb(FNb(l%,b%!e%),y%,a$,10):WHILENOTINKEY(-99)ANDNOTINKEY(-17)ANDNOTINKEY(-82):PROCc(h%):a$="SCORE ADVANCE":l%=LEN(a$)*b%!u%:x%=h%!d%+FNb(l%,h%!e%):y%=h%!c%+h%!k%-20:PROCb(x%,y%,a$,0) a$="TABLE":y%-=b%!D%:l%=LEN(a$)*b%!u%:x%=h%!d%+FNb(l%,h%!e%):PROCb(x%,y%,a$,0):x%=a%!d%+a%!e%+10:PROCa("saucer_0",a%!d%,a%!c%):PROCb(x%,a%!c%+10,"= 500 POINTS !",0):PROCa("inv_3",J%!d%,J%!c%):PROCb(x%,J%!c%+20,"= 100 POINTS !",0) PROCa("inv_2",E%!d%,E%!c%):PROCb(x%,E%!c%+20,"= 75 POINTS !",0):PROCa("inv_1",q%!d%,q%!c%):PROCb(x%,q%!c%+20,"= 50 POINTS !",0):t%=TIME+750:REPEAT:UNTILTIME=t%ORINKEY(-17)ORINKEY(-99):IFINKEY(-17)THEN=TRUE IFINKEY(-99)THEN=FALSE IFINKEY(-82)THENPROCe PROCc(h%):a$="TODAY'S":IFaa%THENa$="ALL TIME" l%=LEN(a$)*b%!u%:x%=h%!d%+FNb(l%,h%!e%):y%=h%!c%+h%!k%-20:PROCb(x%,y%,a$,0):a$="HI SCORES":y%-=b%!D%:l%=LEN(a$)*b%!u%:x%=h%!d%+FNb(l%,h%!e%):PROCb(x%,y%,a$,0):y%=(h%!c%+h%!k%)-100:FORi%=1TO10:IFi%<10THEN a$=" "+STR$(i%)+". " ELSE:a$=STR$(i%)+". " ENDIF s$=FNh(a$(i%)):a$+=FNd(s$,8," ",FALSE):a$+=" ... ":a$+=FNl(STR$(a%(i%)),6):l%=LEN(a$)*b%!u%:x%=h%!d%+FNb(l%,h%!e%):PROCb(x%,y%-(i%*(b%!D%+5)),a$,0):NEXTi%:t%=TIME+750:REPEAT:UNTILTIME=t%ORINKEY(-17)ORINKEY(-99):IFINKEY(-17)THEN=TRUE IFINKEY(-99)THEN=FALSE IFINKEY(-82)THENPROCe ENDWHILE:IFINKEY(-17)THEN=TRUE =FALSE DEFPROCi:LOCALg%,j%,a%,X%:LOCALK%,Y%:LOCALL%,l%,a$,x%,y%:DIMg% 52,j% 52,a% 52,X% 52:K%=ea%:Y%=P%:g%!e%=FNa(30,1):g%!k%=FNa(15,2):g%!d%=FNc(g%,b%):g%!c%=50:g%!A%=6:g%!K%=3:g%!z%=g%!A%:j%!e%=FNa(5,1):j%!k%=FNa(20,2):j%!m%=FALSE:j%!A%=10 a%!e%=FNa(40,1):a%!k%=FNa(20,2):a%!c%=r%!I%-(10+a%!k%):a%!A%=5:a%!m%=FALSE:X%!Y%=1:PROCd(r%!I%):PROCd(r%!W%):a$="SCORE :-"+FNd("",5,"0",TRUE):PROCb(0,b%!k%-b%!D%,a$,0):a$="HI SCORE :-":a$+=FNd(STR$(a%(1)),5,"0",TRUE):x%=b%!e%-LEN(a$)*b%!u% PROCb(x%,b%!k%-b%!D%,a$,0):PROCa("base",0,0):a$=" = "+STR$(g%!K%):PROCb(g%!e%,0,a$,0):a$="RACK :-"+FNd(STR$(X%!Y%),3,"0",TRUE):x%=b%!e%-LEN(a$)*b%!u%:PROCb(x%,0,a$,0):PROCa("base",g%!d%,g%!c%):REPEAT:L%=0:IFINKEY(-74)THENPROCj(g%!d%,g%!c%) IFINKEY(-98)THENPROCk:L%=1 IFINKEY(-67)THENPROCl:L%=2 IFINKEY(-82)THENPROCe IFINKEY(-17)THENg%!K%=0 IFL%>0THEN IFL%<=2THEN g%!d%+=g%!z%:PROCa("base",g%!d%,g%!c%) ENDIF ENDIF PROCm:PROCn:UNTILg%!K%=0:a$="GAME OVER!!!":l%=LEN(a$)*FNa(8,1):y%=b%!k%/2:PROCb(FNb(l%,b%!e%),y%,a$,10):PROCg(1000):ENDPROC DEFPROCk:IFg%!d%<=0THENg%!d%=0:ENDPROC g%!z%=0-g%!A%:ENDPROC DEFPROCl:IFg%!d%>=b%!e%-g%!e%THEN g%!d%=b%!e%-g%!e%:ENDPROC ELSE:g%!z%=0+g%!A% ENDIF ENDPROC DEFPROCj(x%,y%):IFj%!m%THENENDPROC j%!m%=TRUE:j%!d%=x%+(g%!e%/2):j%!c%=y%+g%!k%:ENDPROC DEFPROCe:REPEAT:UNTILNOTINKEY(-82):OSCLI"ScreenSave .Dump"+STR$(ba%):ba%+=1:ENDPROC DEFPROCm:LOCALQ%,Z%:Q%=P%:IFNOTj%!m%THENENDPROC j%!Q%=FALSE:IFj%!c%>=r%!I%-j%!k%THEN j%!m%=FALSE:j%!Q%=TRUE ENDIF IFj%!Q%THEN Z%=FNf(j%,52):Z%!c%-=2:PROCc(Z%) ELSE:PROCa("shell",j%!d%,j%!c%) ENDIF j%!c%+=j%!A%:ENDPROC DEFPROCn:LOCALC%,w%,H%:C%=P%:w%=ca%:H%=da%:IFNOTa%!m%THEN IFFNg(3)ANDFNg(1)THEN a%!m%=TRUE:a%!O%=FALSE:a%!H%=0:IFFNg(50)THEN a%!z%=0-a%!A%:a%!d%=b%!e% ELSE:a%!z%=0+a%!A%:a%!d%=0-a%!e% ENDIF ENDIF ELSE:a%!H%+=1:a%!w%+=1:IFa%!d%<=0-a%!e%ANDSGN(a%!z%)=-1THEN a%!C%=FALSE:a%!m%=FALSE:a%!w%=0:ENDPROC ENDIF IFa%!d%>b%!e%ANDSGN(a%!z%)=1THEN a%!C%=FALSE:a%!m%=FALSE:a%!w%=0:ENDPROC ENDIF IFNOTa%!O%THEN IFFNi(j%,a%)THEN PROCc(j%):PROCa("saucer_2",a%!d%,a%!c%):a%!C%=a%!w%:a%!O%=TRUE:j%!m%=FALSE ENDIF ELSE:IFFNi(j%,a%)THEN PROCc(j%):j%!m%=FALSE ENDIF ENDIF IFNOTa%!O%THEN IFa%!H%>=100THENa%!H%=0 IFa%!H%<50THEN PROCa("saucer_0",a%!d%,a%!c%) ELSE:PROCa("saucer_1",a%!d%,a%!c%) ENDIF a%!d%+=a%!z% ELSE:IFa%!w%>=a%!C%+200THEN PROCc(a%):a%!m%=FALSE:a%!C%=FALSE:a%!w%=0 ELSE:IFa%!w%>=a%!C%+175THEN PROCa("saucer_5",a%!d%,a%!c%) ELSE:IFa%!w%>=a%!C%+150THEN PROCa("saucer_4",a%!d%,a%!c%) ELSE:IFa%!w%>=a%!C%+100THEN PROCa("saucer_3",a%!d%,a%!c%) ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF ENDPROC DEFFNj:LOCALi%,o%,n$:FORi%=1TO10:IFi%MOD2=0THENn$="Software"ELSEn$="DynaByte" a$(i%)=FNh(n$):a%(i%)=(11-i%)*1000:b%(i%)=0:NEXTi%:o%=OPENOUT".Resources.HiTable":IFo%=0THEN=FALSE FORi%=1TO10:PRINT#o%,a$(i%),a%(i%):PRINT#o%,b%(i%):NEXTi%:CLOSE#o%:=TRUE DEFPROCh:LOCALi%,o%:o%=OPENIN".Resources.HiTable":FORi%=1TO10:INPUT#o%,a$(i%),a%(i%):INPUT#o%,b%(i%):NEXTi%:CLOSE#o%:ENDPROC DEFPROCo:LOCALi%,o%:o%=OPENOUT".Resources.HiTable":FORi%=1TO10:PRINT#o%,a$(i%),a%(i%):PRINT#o%,b%(i%):NEXTi%:CLOSE#o%:ENDPROC DEFPROCd(c%):LOCALi%,ha%:ha%=b%!e%/r%!e%:FORi%=1TOha%+1:PROCa("rail",(i%-1)*r%!e%,c%):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%:b%!U%=p%!0:b%!V%=p%!4:b%!e%=(p%!8)+1<b%!ga%THENPROCf CASEia%OF WHEN1:M%=F%<>b%!U% WHEN4:M%=F%>>b%!V% OTHERWISE:ERROR255,"Unknown FNconv_units() operation : "+STR$(ia%) ENDCASE =M% DEFPROCb(x%,y%,a$,ka%):LOCALi%,la%:la%=b%!u%:FORi%=1TOLEN(a$):PROCa(STR$(ASC(MID$(a$,i%,1))),x%+((i%-1)*la%),y%):IFka%>0THENPROCg(ka%) NEXTi%:ENDPROC DEFFNi(s%,G%):LOCALma%,na%,_%,`%:_%=FALSE:`%=FALSE:IFs%!m%ANDG%!m%THEN ma%=G%!d%+G%!e%:na%=G%!c%+G%!k%:IFs%!d%>=G%!d%ANDs%!d%<=ma%THEN_%=TRUE IFs%!c%>=G%!c%ANDs%!c%<=na%THEN`%=TRUE ENDIF =_%AND`% DEFFNf(s%,F%):LOCALR%,oa%:DIMoa% F%:FORR%=0TOF%-4STEP4:oa%!R%=s%!R%:NEXTR%:=oa% DEFPROCc(s%):GCOL0,0TINT0:RECTANGLEFILLs%!d%,s%!c%,s%!e%,s%!k%:ENDPROC DEFFNb(pa%,b%):=(b%/2)-(pa%/2) DEFFNc(qa%,ra%):=(ra%!e%/2)-(qa%!e%/2) DEFPROCa(e$,x%,y%):OSCLI"SChoose "+e$:PLOT237,x%,y%:ENDPROC DEFFNg(n%):LOCALsa%:sa%=RND(100):=sa%<=n% DEFFNe(f$):LOCALf%:SYS"XOS_File",17,f$TOf%:=f% DEFFN=a$:=b$ ,T%) ELSE:b$=a$+STRING$(qa%,g$) ENDIF =b$ DEFFNm(a$,T%):LOCALb$:b$=STRING$(T%," "):RIGHT$(b$,LEN(a$))=a$:=b$ 446ǽS%9wR#>@X!y[n*y|ud>d1LAT ^FA#ѩ3;W8:1ߍlYR Jzxa揶 ƵVu?6 2_EէU։:%@8$}Ut8 u/6T_r `b&Ǡf{g=~'>=xGh?y`%4w'G|^rvڐ;?~pgpr>lvO