start bastext 6145 start tok128 d64-qULlxS 0 REMRGR 1 SYS5097:PRINT"{clear}{green}adapted by: {yellow}dave neale{space*2}p.o. box 1324 2 PRINT"{space*12}meaford, ontario{space*2}n0h-1y0 3 PRINT"{down}{pink}attention:{light green} with enough response a more 4 PRINT"detailed version could be in the works 5 PRINT"that will include the following:{down}" 6 PRINT"{light green}1. {yellow}skill levels{space*3}{light green}2. {yellow}a classic ending 7 PRINT"{light green}3. {yellow}klingons fire first if you're slow 8 PRINT"{light green}4. {yellow}prisoner taken for interigation 9 PRINT"{light green}5. {yellow}klingons smoking if damaged 10 PRINT"{light green}6. {yellow}other craft types, diplomatic,spy.. 11 PRINT"{light green}7. {yellow}condition reset after a kill 12 PRINT"{light green}8. {yellow}smooth screen scrolling 13 PRINT"{light green}9. {yellow}better graphics, more machine code 14 PRINT"{light green}10. {yellow}high res screen {light green}11.{yellow} tactical senser 15 PRINT"{light green}12. {yellow}no junk like this at the start 20 PRINT"{light green}{down}so if you like this program and wish to 21 PRINT"see an improved version, then show me 22 PRINT"your interest by sending {yellow}$2.00 {light green}to the 23 PRINT"above address. i'm also interested in 24 PRINT"any comments or ideas you have that 25 PRINT"could be included in futher versions. 38 FORx=1TO38000:NEXT 40 x=RND(1-ti):SYS52870 41 REM***************************** 42 REM* - star trek - * 43 REM* * 44 REM** adapted by dave neale ** 45 REM*** *** 46 REM** inspired by g.solomon ** 47 REM* * 48 REM* a d.g. production inc * 49 REM***************************** 60 PRINT"{white}{clear}":SYS49801:q$="{down*5}":o$="{right*7}" 100 a$="space, the final frontier":y=13:x=1 120 b$=MID$(a$,y,x):y=y-1:x=x+2 130 PRINT"{reverse off}{home}{down}"q$q$TAB(y+7)b$:IFy=0THEN220 140 FORi=1TO100:NEXT:GOTO120 220 GOSUB15000:f=0:r9=0:km=0:GOTO231 230 FORte=1TO4:di=INT(RND(1)*39):ch=INT(RND(1)*5)+118:PRINTTAB(di)"{reverse on}";CHR$(ch);"{reverse off}{up}":NEXT:RETURN 231 PRINTq$q$TAB(19)"{down*3}{cm @*2}":GOSUB230 232 PRINTo$"{right*10}U{cm e}CC{cm e}I":GOSUB230 233 PRINTo$"{cm @*5}RRFFCKC{cm e*2}CJCFFRR{cm @*5}":GOSUB230 234 PRINTo$"M {cm f*3}.{cm t*14}.{cm d*3} N":GOSUB230 235 PRINTo$"{right}M{cm @*5}{cm y*2}{cm @*8}{cm y*2}{cm @*5}N":GOSUB230 236 PRINTo$"{right*3}{sh -*3}{right}{cm t}EDCF{cm p*2}FCDE{cm t}{right}{sh -*2}B":GOSUB230 237 PRINTo$"{right*3}J{cm e}K{right*5}{cm m}{cm @*2}{cm g}{right*5}J{cm e}K":GOSUB230 239 PRINTo$"{right*5}MM{right*4}O{cm +*2}P{right*4}NN":GOSUB230 240 PRINTo$"{right*6}MM{right*3}P{cm t*2}O{right*3}NN":GOSUB230 241 PRINTo$"{right*7}MM{cm @}N{cm t*4}M{cm @}NN":GOSUB230 242 PRINTo$"{right*8}MNN{cm t*4}MMN":GOSUB230 243 PRINTo$"{right*8}U{cm g*2} UI {cm m*2}I":GOSUB230 244 PRINTo$"{right*8}J{cm g*2} JK {cm m*2}K":GOSUB230 245 PRINTo$"{right*9}MM{cm @*4}NN":GOSUB230 246 PRINTo$"{right*10}M{cm @*4}N":GOSUB230:PRINTTAB(19)"JK 250 FORj=1TO6:PRINT:GOSUB230:NEXTj:FORi=1TO1800:NEXT 255 PRINTTAB(8)"{up*4}phasers locked on target":FORi=1TO500:NEXT 258 PRINTTAB(17)"{down}fire!!{.*3}":FORi=1TO30:NEXT 259 POKE55595,2:POKE55596,2:POKE1323,81:POKE1324,81:FORi=1TO100:NEXT:GOSUB10000 260 SYS5451:FORc=0TO48:POKE53280,c:POKE53281,c:NEXT:IFr9=1THENRETURN 280 PRINT"{clear}":SYS49814:PRINT"{home}{reverse off}"q$"{down}{cm @*16}"SPC(12)"UCCI 283 PRINT"M{cm p*3} {cm pound*9} {cm m}{cm @}{right*3}{cm p*2}{cm @*2}RFCK{cm t*4}JCFR{cm @*3} 284 PRINT"{right}M{cm @*13}N{cm m}{right*3}EM{cm @*16}N 285 PRINT"{right*3}M{cm @*5}M{sh space}M{cm @*4}N{right*5}N{space*2}.NEDCFCDE 286 PRINT"{right*10}M{cm pound}MM{right*7}N{.*3}N 287 PRINT"{right*11}M{cm -}MM{right*5}N.. {cm d}{cm g} 288 PRINT"{right*9}{cm p}FCM ME{cm y*5}EDCFL 289 PRINT"{right*8}N{cm g}{space*3}{.*3} {cm pound}{space*4}{.*3}{cm l}{reverse on}# 290 PRINT"{right*8}{cm y}CR{cm @}{.*3}{space*4}{cm d*4}{space*2}{cm l}{reverse on}$ 291 PRINT"{right*11}{cm t}DF{cm p*7}RFCD{cm y} 292 PRINTTAB(14)"{down*2}ncc-1701":PRINTTAB(9)"{down}the uss enterprise":GOSUB40500 400 vi=53248:POKEvi+27,127:POKEvi+21,0:POKEvi+40,7:POKEvi+41,2:POKEvi+42,1:v=54272 410 q$="{down*5}":z$="{space*15}":DIMc(9,2),k(3,3),d(9):v=54272:POKEv+24,31 430 t=INT(RND(1)*20+20)*100:t0=t:t9=23+INT(RND(1)*10):d2=0:e=3000:POKE248,18 440 p=12:s9=260:s=0:b9=0:k9=0:x9=0:x$="":x0$=" is ":POKE249,0:POKE180,30:POKE181,0 460 DEFFNl(l)=(q1*9+q2)*3+50450:DEFFNr(r)=INT(RND(r)*7.9+1.1) 470 DEFFNd(d)=SQR((k(i,1)-s1)^2+(k(i,2)-s2)^2):DEFFNb(b)=INT(RND(b)*8.9) 490 q1=FNb(1):q2=FNb(1):s1=FNr(1):s2=FNr(1) 530 FORi=1TO9:c(i,1)=0:c(i,2)=0:NEXTi:c(1,2)=1:c(2,2)=1:c(8,2)=1:c(9,2)=1 540 FORm=0TO2:c(2+m,1)=-1:c(4+m,2)=-1:c(6+m,1)=1:NEXT 670 FORi=1TO9:d(i)=0:NEXTi:a2$="123456789" 820 SYS49786:SYS50946:k9=PEEK(167):b9=PEEK(169):IFk9>t9THENt9=k9+1 1100 IFb9<>0THEN1200 1150 l0=FNl(0):IFPEEK(l0)<2THENPOKEl0,PEEK(l0)+1:k9=k9+1 1160 b9=1:POKEl0+1,1:q1=FNb(1):q2=FNb(1) 1200 k7=k9:IFb9<>1THENx$="s":x0$=" are{sh space}" 1205 l=INT(RND(1)*81)*3:IFPEEK(50451+l)>0ORPEEK(50450+l)<>0THEN1205 1210 POKE50452+l,0 1220 PRINT"{clear}{yellow}{space*3}priority message to uss enterprise:{down}":PRINTTAB(16)"code ii{down}" 1225 PRINT"{pink}"k9"klingon warships{light gray} have invaded the" 1227 PRINT"federation territory you are patrolling." 1230 PRINTTAB(12)"{yellow}your orders are:{light gray}{down}" 1245 PRINT"destroy all enemy ships before they" 1250 PRINT"attack federation headquarters on" 1260 PRINT"stardate"t0+t9"{left}. this gives you{yellow}"t9"days{light gray}." 1265 PRINT"{down}there"x0$"{light green}{left}"b9"starbase"x$"{light gray} in the galaxy for" 1270 PRINT"repairing and resupplying your ship." 1280 PRINTTAB(9)"{down}hit any key when ready" 1300 GETb$:IFb$=""THEN1300 1320 nq=1:z4=q1:z5=q2:k3=0:b3=0:s3=0:g5=0:d4=.5*RND(1):GOSUB10500 1330 POKE49345,q1:POKE49346,q2:POKE49328,FNl(0)-50450:SYS50696 1430 GOSUB9030:IFt0<>tTHEN1490 1460 PRINT"{down}your mission begins with your starship" 1465 PRINTTAB(4)"located in the galaxy quadrant{down}{yellow}" 1470 PRINTTAB(20-.5*LEN(g2$));g2$:GOTO1500 1490 PRINT"{down}now entering "g2$" quadrant{.*3}" 1500 l0=FNl(0):k3=PEEK(l0):b3=PEEK(l0+1):s3=PEEK(l0+2):nb=0:IFs3>0THEN1550 1510 nb=1:e=e+s:s=0:GOSUB7920 1515 PRINT"{yellow}{down}warning: you are entering a nebula 1517 PRINT"system. most devices will not function":FORl=0TO3500:NEXT 1550 IFk3=0ORnb=1THEN1590 1560 PRINTTAB(14)"{pink}{down}combat area":PRINTTAB(7)"{down}all hands battle stations{down}" 1570 SYS5536:IFs>200THEN1590 1580 PRINTTAB(8)"{yellow}shields dangerously low":SYS5536 1590 FORi=1TO3:k(i,1)=0:k(i,2)=0:k(i,3)=0:NEXT 1680 a$="ASX":z1=s1:z2=s2:l5=0:GOSUB8670:IFk3<1THEN1790 1720 FORi=1TOk3:GOSUB8590:a$="Z[]":z1=r1:z2=r2 1780 GOSUB8670:k(i,1)=r1:k(i,2)=r2:k(i,3)=s9*(.5+RND(1)):NEXTi 1790 IFnb=0THENFORsn=1TOINT(RND(1)*5):GOSUB8590:a$="W{sh pound}W":z1=r1:z2=r2:GOSUB8670:NEXT 1820 IFb3<1THEN1910 1880 GOSUB8590:a$="#V{pound}":z1=r1:b4=r1:z2=r2:b5=r2:GOSUB8670 1910 IFnb=0THENFORi=1TOs3:GOSUB8590:a$="%&{arrow left}":z1=r1:z2=r2:GOSUB8670:NEXTi 1980 GOSUB6430:pr=0 1990 IFs+e>10ORd0=0THENIFe>10ORd(7)>=0THEN2060 1995 IFd0=1ANDe+s>10THEN2060 2020 PRINTTAB(11)"{down}{pink}*** fatal error ***{light gray}" 2023 PRINT"{down}you've just stranded your ship in space" 2025 PRINT"you've insufficient maneuvering energy" 2040 PRINT"shield control is presently incapable" 2045 PRINT"of cross circuiting to the engines!!":GOSUB6220 2060 POKE752,0:GOSUB9500:SYS5168:IFPEEK(53168)=1THEN2160 2140 b=PEEK(52961):ONbGOTO2300,1980,4000,4260,4700,5530,5690,7290,11000 2160 IFb=221THEN1990 2170 PRINT"{yellow}enter one of the following{down}" 2180 PRINT"{space*2}1 = set course 2190 PRINT"{space*2}2 = short range scan 2200 PRINT"{space*2}3 = long range scan 2210 PRINT"{space*2}4 = fire phasers 2220 PRINT"{space*2}5 = fire photon torpedoes 2230 PRINT"{space*2}6 = raise/lower shields 2240 PRINT"{space*2}7 = damage control reports 2250 PRINT"{space*2}8 = enable library computer 2260 PRINT"{space*2}9 = enable tractor beam{down}":GOTO1990 2290 REM***** 2300 INPUT"{space*2}course{space*2}{cm b}{left*3}";c1$:c1=VAL(c1$):IFc1=0THEN1990 2310 IFc1>=1ANDc1<9THEN2350 2330 PRINT" lt. sulu reports incorrect course data":GOTO1990 2350 x$="8":IFd(1)<0THENx$="0.2" 2360 PRINTTAB(15)"{up}warp factor(0-";x$;"){space*2}{cm b}{left*3}"; 2370 INPUTw1$:w1=VAL(w1$):IFw1=0THEN1990 2375 IFd(1)<0ANDw1>.2THEN2470 2380 IFw1>0ANDw1<=8THEN2490 2390 IFw1=0THEN1990 2420 PRINT"{yellow}chief engineer scott reports the warp" 2430 PRINT"engines not capable of warp";w1"!":GOTO1990 2470 PRINT"{yellow}warp engines damaged. maximum speed on" 2480 PRINT"impulse engines is warp o.2":GOTO1990 2490 n=INT(w1*8+.5):IFe-n>=0THEN2585 2500 PRINT"{yellow}engineering reports: not enough energy 2510 PRINT"available for maneuvering at warp";w1;"!{light gray}" 2530 IFs8ORk(i,2)<1ORk(i,2)>8THEN2623 2620 s8=INT(k(i,1))*24+INT(k(i,2))*3-26+50001:IFPEEK(s8)=29THEN2630 2621 IFPEEK(s8)=169THENfl=1:GOTO2635 2623 k(i,1)=INT(k(i,1)-f1):k(i,2)=INT(k(i,2)-f2):y1=k(i,1):x1=k(i,2) 2625 GOSUB15400:GOTO2640 2630 NEXTj 2635 k(i,1)=INT(k(i,1)):k(i,2)=INT(k(i,2)):y1=k(i,1):x1=k(i,2):GOSUB15400 2640 a$="Z[]":z1=k(i,1):z2=k(i,2):GOSUB8670 2690 IFtb=1THENRETURN 2700 NEXTi:km=0 2760 d1=0:d6=w1:IFw1>=1THENd6=1 2770 FORi=1TO9:IFd(i)>=0THEN2880 2790 d(i)=d(i)+d6:IFd(i)>-.1ANDd(i)<0THENd(i)=-.1:GOTO2880 2800 IFd(i)<0THEN2880 2810 IFd1<>1THENd1=1:PRINT"{yellow}damage control reports:" 2840 r1=i:GOSUB8790:PRINTg2$" repair completed." 2880 NEXTi:IFRND(1)>.2THEN3050 2910 r1=FNb(1)+1:IFRND(1)>.6THEN3000 2915 IFs=0THENds=RND(1)*5+1:GOTO2930 2920 ds=(RND(1)*6+1)*(500/s):IFds>5.5THENds=RND(1)+5 2930 d(r1)=d(r1)-ds:PRINT"{pink}damage control reports:" 2960 GOSUB8790:PRINTg2$" damaged{light gray}{down}":GOTO3040 3000 d(r1)=d(r1)+RND(1)*3+1:PRINT"{light green}damage control reports:" 3030 GOSUB8790:PRINTg2$" status improved{light gray}{down}" 3040 IFd(r1)<-5ORd(r1)>5THENd(r1)=SGN(d(r1))*5 3050 RETURN 3070 a$="{right*3}":z1=s1:z2=s2:GOSUB8670:GOSUB7940 3110 x0=INT(s2):y0=INT(s1):g=c1:GOSUB7900:f3=f1:f4=f2:x=s1:y=s2:q4=q1:q5=q2 3170 FORi=1TOn:s1=s1+f1:s2=s2+f2:IFs1<1ORs1>8ORs2<1ORs2>8THENGOTO3500 3240 s8=INT(s1)*24+INT(s2)*3-26+50001:IFPEEK(s8)=29THEN3360 3250 IFPEEK(s8)=169THENhm=1:x7=INT(s2):y7=INT(s1):GOTO3360 3320 s1=INT(s1-f1):s2=INT(s2-f2):y1=s1:x1=s2:GOSUB3482:SYS5712 3330 PRINTTAB(13)"{pink}bad navigation":PRINTTAB(9)"{yellow}warp engines shut down":GOTO3370 3360 NEXTi:s1=INT(s1):s2=INT(s2):y1=s1:x1=s2:GOSUB3482 3366 IFhm=1THENGOSUB16100 3370 s0=0:a$="ASX":z1=INT(s1):z2=INT(s2):GOSUB8670:GOSUB3905:t8=1 3430 IFw1<1THENt8=.1*INT(10*w1) 3450 t=t+t8:IFt>t0+t9THEN6220 3475 IFPEEK(1665)=64ORPEEK(1705)=64THENGOSUB2590:pr=1:GOTO1980 3480 GOSUB2590:FORtd=1TO1000:NEXT:GOTO1980 3482 IFhm=1AND(PEEK(1705)<>64ANDpc=0)THENSYS5451:RETURN 3483 GOSUB15400:RETURN 3500 y1=INT(s1-f1):x1=INT(s2-f2):so=1:GOSUB3482:so=0:sc=0:pc=0:GOSUB2760 3510 x=8*q1+x+n*f3:y=8*q2+y+n*f4:q1=INT(x/8):q2=INT(y/8):s1=INT(x-q1*8) 3550 s2=INT(y-q2*8):IFs1=0THENq1=q1-1:s1=8 3590 IFs2=0THENq2=q2-1:s2=8 3620 x5=0:IFq1<0THENx5=1:q1=0:s1=1:GOTO3710 3670 IFq1>8THENx5=1:q1=8:s1=8 3710 IFq2<0THENx5=1:q2=0:s2=1:GOTO3790 3750 IFq2>8THENx5=1:q2=8:s2=8 3790 IFx5=0THEN3850 3800 PRINT"lt.uhura reports message from starfleet" 3805 PRINT"command: permission to cross galactic" 3810 PRINT"perimeter is hereby {yellow}*denied*{light gray}" 3850 IFt>t0+t9THENPRINT"{pink} time has run out{light gray}.":GOTO6220 3860 IF8*q1+q2=8*q4+q5THEN3370 3865 IFet>0THENet=et-1 3870 t=t+1:GOSUB3905:GOTO1320 3905 IFhm>0THENPRINTTAB(4)"{pink}space mine hit, shields damaged":s=s-500:hm=0 3907 IFs<0THEN6220 3910 e=INT(e-n*1.5-15):GOSUB7920:IFe>=0THENRETURN 3930 PRINT"{yellow}shield control supplies energy to":PRINT"complete the maneuver{light gray}" 3940 s=s+e:e=0:GOSUB7920:IFs<=0THENs=0 3980 RETURN 4000 IFd(3)<0ORnb=1THENPRINT"{pink}{space*5}long range sensors inoperable":GOTO1990 4030 GOSUB16450:PRINT"{home}{yellow}long range scan for":PRINT"{space*2}quadrant "q1+1","q2+1 4040 SYS5712:SYS51285:PRINTq$q$"{down*2}":GOTO1990 4260 IFd(4)<0ORnb=1THENPRINT"{pink}{space*10}phasers inoperative":GOTO1990 4265 IFk3>0THEN4280 4270 PRINT"science officer spock reports: sensors" 4275 PRINT"show no enemy ships in this quadrant":GOTO1990 4280 IFe<=0THENPRINT"{space*5}{yellow}insufficient energy available":GOTO1990 4330 IFd(8)<0THENPRINT"{yellow}computer failure hampers accuracy." 4350 PRINT"{space*4}{yellow}energy available ={light green}"e"{yellow}units 4360 PRINT"{space*4}{light green}targeting computer locked on" 4370 INPUT"{yellow}{space*4}number of units to fire{space*3}{cm b}{left*3}{light green}";x$:x=VAL(x$):IFx<=0THEN1990 4380 GOSUB7940:GOSUB7950 4400 IFe-x<0THEN4360 4410 e=e-x:GOSUB7920:IFd(8)<0THENx=x*RND(1) 4450 h=INT(x/k3):FORi=1TO3:IFk(i,3)<=0THENGOSUB13500:GOTO4670 4460 x0=s2:y0=s1:x1=k(i,2):y1=k(i,1):GOSUB10000:IFd(2)>=0THENGOSUB15400 4480 h1=INT((h/FNd(1))*(RND(1)+1.5)):IFh1>hTHENh1=h 4490 IFh1>.15*k(i,3)THENk(i,3)=k(i,3)-h1:GOTO4550 4500 GOSUB13280:GOTO4670 4550 IFk(i,3)<=0THENSYS5451:GOSUB12400:GOSUB13000:IFd(2)>=0THEN4580 4555 IFk(i,3)<=0THENFORtl=1TO700:NEXT:SYS5485:GOTO4580 4560 GOSUB13000:GOTO4670 4580 k3=k3-1:k9=k9-1:z1=k(i,1):z2=k(i,2):a$="{right*3}":GOSUB8670 4650 k(i,3)=0:IFnb=0THENl0=FNl(0):POKEl0,(PEEK(l0)-1):GOSUB10500 4660 IFk9<=0THEN6370 4670 NEXTi:GOSUB14100:GOSUB6000:dm=0 4675 IFk3=0THENPRINTTAB(5)"{yellow}secure from general quarters" 4680 GOTO1990 4700 IFp<=0THENPRINT"{yellow}all photon torpedoes expended":GOTO1990 4730 IFd(5)<0THENPRINT"{pink}{space*8}photon tubes inoperative":GOTO1990 4760 INPUT"{space*6}photon torpedo course{space*2}{cm b}{left*3}";c1$:g=VAL(c1$):IFg=0THEN1990 4770 IFg=9THENg=1 4780 IFg>=1ANDg<9THEN4830 4790 PRINT"ensign chekov reports: incorrect course":PRINT"data sir!":GOTO1990 4830 x=s1:y=s2:IFkd=0THENs=s-5:p=p-1 4835 IFdm=1ANDkd=1THENFORtd=0TO1200:NEXT:dm=0 4840 GOSUB7940:GOSUB7950 4850 GOSUB7900 4910 IFd(2)<0ANDkd=0THENPRINT"{yellow}torpedo track:"; 4915 y0=x:x0=y:x3=0:y3=0:IFd(2)<0ANDkd=0THENGOSUB10200 4960 x=x+f1:y=y+f2:x3=INT(x+.5):y3=INT(y+.5):x1=y3:y1=x3 4965 IFx3<1ORx3>8ORy3<1ORy3>8THEN5480 5000 IFd(2)<0ANDkd=0THENPRINTTAB(15)x3","y3 5010 a$="{right*3}":GOSUB5500:IFz3=1THEN4960 5060 a$="Z[]":GOSUB5500:IFz3=0THEN5195 5065 IFkd=1THEN4960 5110 GOSUB15400:SYS5451:GOSUB12100:k3=k3-1:k9=k9-1 5112 IFd(2)<0THENFORtd=0TO999:NEXT:SYS5485 5115 PRINTTAB(7)"{light green}*** klingon destroyed ***" 5117 IFk3=0THENPRINTTAB(5)"{yellow}secure from general quarters{light gray}" 5120 IFk9<=0THEN6370 5150 FORi=1TO3:IFx3=k(i,1)ANDy3=k(i,2)THENk(i,3)=0:GOTO5465 5180 NEXTi 5195 a$="ASX":GOSUB5500:IFz3=0THEN5210 5200 eh=1:GOSUB15400:GOTO17040 5210 a$="%&{arrow left}":GOSUB5500:IFz3=0THEN5280 5240 GOSUB15400:IFkd=1THEN17040 5260 PRINT"star at";x3;",";y3;"absorbed torpedo energy.":GOSUB6000:GOTO1990 5280 a$="#V{pound}":GOSUB5500:IFz3=0THEN5415 5330 GOSUB15400:SYS5451:GOSUB12100:PRINTTAB(7)"{light green}*** starbase destroyed ***{down}{light gray}" 5340 b3=b3-1:b9=b9-1:IFkd=1THEN5465 5400 PRINT"starfleet command reviewing your record" 5410 PRINT"to consider court martial!{down}":d0=0:GOTO5465 5415 a$="W{sh pound}W":GOSUB5500:IFz3=0THEN5480 5423 IFkd=1THEN4960 5425 GOSUB15400:SYS5451:GOSUB12100:PRINTTAB(6)"{light green}*** space mine destroyed ***{light gray}" 5465 z1=x:z2=y:a$="{right*3}":GOSUB8670 5470 l0=FNl(0):POKEl0,k3:POKEl0+1,b3:GOSUB10500:IFkd=1THEN17040 5475 GOSUB6000:GOTO1990 5480 GOSUB15400:IFkd=1THEN17040 5490 IFd(2)<0THENPRINTTAB(9)"{yellow}torpedo missed target{light gray}" 5495 GOTO5475 5500 z1=x:z2=y:GOSUB8830:RETURN 5530 IFd(7)<0ORnb=1THENPRINT"{pink}{space*7}shield control inoperative":GOTO1990 5560 PRINT"energy available ={light green}";e+s:INPUT"{light gray}number of units to shields{space*3}{cm b}{left*3}{light green}";x$ 5570 x=VAL(x$):IFx$="{cm b}"THEN1990 5580 IFx<0ORs=xTHENPRINTTAB(7)"{yellow}*** shields unchanged ***":GOTO1990 5590 IFx<=e+sTHEN5630 5600 PRINTTAB(7)"{yellow}deflector control reports" 5605 PRINT"{space*2}this is not the federation treasury" 5610 PRINTTAB(7)"{yellow}*** shields unchanged ***{light gray}":GOTO1990 5630 e=e+s-x:s=x:GOSUB7920:SYS52731:PRINT"{up}" 5660 PRINT"shields at{light green}";INT(s);"{light gray}units per request":GOTO1990 5690 IFd(6)>=0THEN5900 5700 PRINT"{pink}{space*2}damage control report not available{light gray}":IFd0=0THEN1990 5720 d3=0:FORi=1TO9:IFd(i)<0THENd3=d3+.1 5760 NEXTi:IFd3=0THEN1990 5780 d3=d3+d4:IFd3>=1THENd3=.9 5810 PRINT"{down}technicians standing for repairs" 5815 PRINT"estimated time:";.01*INT(100*d3)"stardates 5840 INPUT"will you authorize repair (y/n)";a$:IFa$<>"y"THEN1990 5870 FORi=1TO9:IFd(i)<0THENd(i)=0 5890 NEXTi:t=t+d3 5900 PRINT"{clear}"TAB(13)"{light green}damage control":PRINTTAB(13)"{cm t*14}" 5910 PRINT"{down}{yellow}device"SPC(14)"state of repair{down}":PRINTTAB(17)"0{space*3}1{space*3}2{space*3}3{space*3}4{space*3}5{light gray}" 5920 FORr1=1TO9:GOSUB8790:cl=153:IFd(r1)=0THENcl=158:GOTO5935 5930 IFd(r1)<0THENcl=28 5935 s1$="{cm i}":PRINTg2$;TAB(17);CHR$(cl);TAB(17); 5940 FORdl=0TOABS(d(r1))*4-1:PRINTs1$;:NEXT:PRINT"{up}{light gray}";CHR$(13) 5950 NEXTr1:PRINT:IFd0<>0THEN5720 5980 GOTO1990 6000 IFk3<=0THENRETURN 6010 IFd0=1THENPRINT"{light green}starbase shields protect the enterprise":RETURN 6040 FORi=1TO3:IFk(i,3)<=10THEN6200 6050 SYS5712:IFRND(1)>.5ORnb=1THENkd=1:GOTO17000 6060 h=INT((k(i,3)/FNd(1))*(2+RND(1))):s=s-h:k(i,3)=k(i,3)/(3+RND(1)):GOSUB7940 6065 kp=1:y0=k(i,1):x0=k(i,2):y1=s1:x1=s2:GOSUB15400:kp=0:pc=0:sc=0 6080 SYS5507:PRINTTAB(4)h"{pink}units hit from sector"k(i,1);",";k(i,2) 6085 IFs<0THENs=0 6090 GOSUB7920:IFs=0ANDnb=0THEN6240 6095 IFnb=1THENh=1:s=1:GOTO6140 6100 PRINTTAB(7)"{yellow}shields down to{pink}";s;"{yellow}units{light gray}":IFh<20ANDkd=0THEN6200 6120 IFRND(1)>.6THEN6200 6130 IFkd=1THENh=INT(FNd(0)*300) 6140 r1=FNb(1)+1:d(r1)=d(r1)-h/s-.5*RND(1):GOSUB8790 6170 dm=1:PRINT"{pink}damage control reports: ":PRINTg2$;" damaged by the hit.{light gray}" 6180 GOSUB3040 6200 IFk(i,3)<=0ORk(i,3)>=10THEN6215 6205 PRINT"{yellow}sensors: klingon at "k(i,1)","k(i,2)" power low" 6215 NEXTi:kd=0:RETURN 6220 SYS5485:r9=1:GOSUB260:r9=0:PRINT"it is stardate"t 6230 PRINT"{down}there were";INT(t0+t9-t);" stardates left.{down}":GOTO6270 6240 PRINT"{down}the enterprise has been destroyed. the" 6250 PRINT"federation will be conquered":GOTO6220 6270 PRINT"there were";k9;"klingon battle cruisers" 6280 PRINT"left at the end of your mission.{down}" 6290 IFb9>0THEN6310 6295 PRINT"{pink}you have lost all your starbases so the" 6300 PRINT"simulation is over 6305 PRINT"the self destruct sequence has started." 6307 FORx=0TO20000:NEXT:GOTO6360 6310 PRINT"{down*2}the federation is in need of a new star" 6315 PRINT"ship commander for a similar mission --" 6320 PRINT"if there is a volunteer, let him step" 6330 INPUT"forward and enter aye";a$:IFa$="aye"THENRESTORE:CLR:GOTO60 6360 SYS64738 6370 PRINT"{down}congratulation captain,the last klingon" 6375 PRINT"battle criuser has been destroyed." 6400 PRINT"{down}your efficiency rating is"INT((1000*(k7/(t-t0))^2)*100)/100 6410 GOSUB15000:GOTO6290 6430 POKE49394,((s1-1)*8+s2-1)*3:POKE49404,s1:POKE49405,s2:SYS51062 6450 IFPEEK(49406)=1THEN6570 6545 d0=0:IFpr=1ANDnb=0THENRETURN 6550 GOTO6650 6570 IFd(8)<0THENGOSUB23200 6620 d0=1:e=3000:p=12:s=0:GOSUB7920:et=0:GOTO6730 6650 PRINT"{clear}":IFk3>0ANDnb=0THENc$="*red*":co=150:GOTO6730 6660 c$="green":co=153:IFe<50ORnb=1THENc$="yellow":co=158 6730 IFd(2)<0THENPRINTTAB(4)"{down}{pink}short range sensors inoperative{down}":RETURN 6740 IFnb=1THENSYS5397:GOTO6780 6770 IFnq=1THENSYS4608:nq=0:GOTO6780 6775 SYS4616 6780 PRINT"{home}{down}":IFnb=1THENSYS5232:GOTO6795 6790 SYS49152 6795 SYS52133 7000 PRINT"{home}";:IFd0=0THENPRINTTAB(9)CHR$(co);"condition "c$:GOTO7165 7100 PRINT"{light green}{space*4}docked - shields dropped" 7165 PRINT"{reverse off}{down*2}"q$q$q$"{yellow}stardate ";INT(t*10)*.1;TAB(19)"quadrant"q1+1","q2+1; 7168 PRINT"{green}bases":pc=0:sc=0 7170 PRINT"{cyan}torpedos{space*3}";INT(p);TAB(19)"{pink}klingons{space*3}";INT(k9)"{green} "b9"{light gray}":RETURN 7290 IFd(8)<0ORnb=1THENPRINT"{pink}{space*9}computer inoperative":GOTO1990 7320 PRINT"{light green}computer active - awaiting command{light gray}":SYS5100:SYS5712 7330 GETb1$:IFb1$=""THEN7330 7340 a=VAL(b1$):IFa=0ORa>5THEN7360 7350 h8=1:ONaGOTO7543,8070,8500,8150,7400 7360 PRINT"{down}{yellow}info available from library computer" 7370 PRINT"{space*3}1 = cumulative galactic record 7374 PRINT"{space*3}2 = photon torpedo data 7376 PRINT"{space*3}3 = starbase navigation data 7378 PRINT"{space*3}4 = direction/distance calculator 7380 PRINT"{space*3}5 = galaxy sector name map{down}":GOTO7320 7400 h8=0:g5=1:PRINT"{clear}{down}"TAB(12)"the galactic region":GOTO7550 7543 PRINT"{clear}"TAB(9)"galactic sector record 7544 PRINTTAB(13)"quadrant"q1+1","q2+1 7550 PRINT"{down}{space*4}1{space*3}2{space*3}3{space*3}4{space*3}5{space*3}6{space*3}7{space*3}8{space*3}9":IFh8=0THEN7630 7560 POKE49412,q2:POKE49414,q1:SYS49600 7580 PRINT"{home}{down*5}{right}1{down*2}{left}2{down*2}{left}3{down*2}{left}4{down*2}{left}5{down*2}{left}6{down*2}{left}7{down*2}{left}8{down*2}{left}9{down}":GOTO1990 7630 SYS49893:FORj=0TO8:PRINTj+1; 7740 z4=j:z5=1:GOSUB9030:j0=INT(13-.5*LEN(g2$)):PRINTTAB(j0)g2$; 7800 z5=6:GOSUB9030:j0=INT(31-.5*LEN(g2$)):PRINTTAB(j0)g2$ 7850 SYS49893:NEXT:GOTO1990 7900 f1=c(g,1)+(c(g+1,1)-c(g,1))*(g-INT(g)) 7910 f2=c(g,2)+(c(g+1,2)-c(g,2))*(g-INT(g)):RETURN 7920 POKE248,(e+s)/165+.5:POKE249,s/165+.5:POKE180,(e+s)/100+.5:POKE181,s/100+.5 7930 SYS52440:PRINT"{up}":RETURN 7940 IFPEEK(1665)=64THENpc=-40:sc=-8 7941 RETURN 7950 IFPEEK(1665)<>64ANDPEEK(1705)<>64THENGOSUB6650 7951 RETURN 8070 IFk3<=0THEN4270 8080 x$="":IFk3>1THENx$="s" 8090 PRINT"from enterprise to battle cruiser";x$:f=1 8100 h8=0:FORj=1TO3:IFk(j,3)<=0THEN8480 8110 a1=k(j,1):b1=k(j,2) 8120 a0=s1:b0=s2:GOTO8220 8150 PRINT"direction/distance calculator:" 8160 PRINT"you are at quadrant "q1+1","q2+1:f=10 8165 PRINTTAB(13)"sector "s1","s2 8170 PRINT"please enter":INPUT"initial coordinates (y/x){space*3}{cm b}{left*3}";a0,b0 8200 INPUT"{space*2}final coordinates (y/x){space*3}{cm b}{left*3}";a1,b1 8220 x=ABS(b1-b0):a=ABS(a0-a1):IFx=0ANDa=0THEN8150 8230 IFb1-b0<0THEN8350 8250 IFa0-a1<0THEN8410 8260 IFb1-b0>0THEN8280 8270 IFa=0THENc=5:GOTO8290 8280 c=1 8290 IFa<=xTHEN8330 8310 di=INT((c+(((a-x)+a)/a))*100)/100:GOTO8455 8330 di=INT((c+(a/x))*100)/100:GOTO8455 8350 IFa0-a1>0THENc=3:GOTO8420 8360 IFx<>0THENc=5:GOTO8290 8410 c=7 8420 IFa>=xTHEN8450 8430 di=INT((c+(((x-a)+x)/x))*100)/100:GOTO8455 8450 di=INT((c+(x/a))*100)/100 8455 IFkd=1THENRETURN 8458 ds=a:IFaASC(MID$(a$,2,1))THENRETURN 8900 z3=1:RETURN 9030 IFz5<=5THENONz4+1GOTO9040,9050,9060,9070,9080,9090,9100,9110,9115 9035 GOTO9120 9040 g2$="antares":GOTO9210 9050 g2$="rigel":GOTO9210 9060 g2$="procyon":GOTO9210 9070 g2$="vega":GOTO9210 9080 g2$="canopus":GOTO9210 9090 g2$="altair":GOTO9210 9100 g2$="sagittarius":GOTO9210 9110 g2$="pollux":GOTO9210 9115 g2$="orion":GOTO9210 9120 ONz4+1GOTO9130,9140,9150,9160,9170,9180,9190,9200,9205 9130 g2$="sirius":GOTO9210 9140 g2$="deneb":GOTO9210 9150 g2$="capella":GOTO9210 9160 g2$="betelgeuse":GOTO9210 9170 g2$="aldebaran":GOTO9210 9180 g2$="regulus":GOTO9210 9190 g2$="arcturus":GOTO9210 9200 g2$="spica":GOTO9210 9205 g2$="cygnus" 9210 IFg5<>1THENONz5+1GOTO9230,9240,9250,9260,9270,9230,9240,9250,9260 9220 RETURN 9230 g2$=g2$+" i":RETURN 9240 g2$=g2$+" ii":RETURN 9250 g2$=g2$+" {i*3}":RETURN 9260 g2$=g2$+" iv":RETURN 9270 g2$=g2$+" v":RETURN 9500 POKEv+22,255:POKEv+6,240:POKEv+1,45 9510 POKEv+4,33:FORn=1TO35:NEXT 9520 POKEv+4,32:POKEv+22,88:RETURN 10000 POKEv+22,255 10010 POKEv+5,128:POKEv+6,128 10020 FORn=10TO60STEP.5 10030 POKEv+1,n:POKEv+4,17:NEXTn 10040 POKEv+4,16:POKEv+22,88:SYS5440 10140 RETURN 10200 SYS5440:POKEv+22,220:POKEv+23,247:POKEv+5,128:POKEv+6,128 10205 POKEv+5+7,128:POKEv+6+7,128 10210 FORn=60TO10STEP-2:POKEv+1,n:POKEv+8,n:POKEv+4,129:POKEv+11,33 10220 NEXT:POKEv+4,128:POKEv+11,32:POKEv+22,88:SYS5440:RETURN 10500 l0=FNl(0) 10510 gs=l0-250:FORtl=0TO2:POKEgs+tl,PEEK(l0+tl)+48:NEXT:RETURN 11000 IFd(9)<0ORnb=1THENPRINT"{pink}{space*9}tractor beam inoperable":GOTO1990 11005 IFk3>1THENPRINT"{yellow}{space*6}too many targets for lock on":GOTO1990 11010 IFk3=0THENPRINT"{yellow}{space*2}no targets located for tractor beam":GOTO1990 11100 FORi=1TO3:IFk(i,3)=0THEN11140 11102 GOSUB7940:GOSUB7950:PRINT"{yellow}{space*10}tractor beam engaged":s=s-10:GOSUB7920 11103 IFk(i,3)<10THEN11110 11105 PRINT"{pink}klingon power levels too high for beam{light gray}":j=i:GOSUB6000:i=j:GOTO1990 11110 tb=1:b1=s2:a1=s1:a0=k(i,1):b0=k(i,2):kd=1:GOSUB8220:kd=0 11115 IFRND(1)>.3THEN11120 11118 SYS5451:b=4:GOSUB12400:PRINTTAB(6)"{yellow}klingon has self destructed":GOTO4580 11120 n%=SQR(x^2+a^2):g=di:y0=k(i,1):x0=k(i,2):km=1:b=1:fl=0:GOSUB2600:km=0 11125 IFfl=1THENSYS5451:b=4:GOSUB12400:PRINT"{yellow}{space*4}klingon destroyed by spacemine":GOTO4580 11130 PRINTTAB(10)"{light green}tractoring completed" 11140 NEXTi:tb=0:GOTO1990 12000 IFb<>4THENpo=1022+(x3*2)*40+(y3*4)+pc 12020 POKEpo,42:FORit=1TO8:NEXTit:POKEpo,32:RETURN 12100 IFd(2)<0THENRETURN 12101 po=1022+(x3*2)*40+(y3*4) 12104 GOSUB12000:GOSUB16200:SYS5485 12105 po=po-41:POKE51636,poAND255:POKE51637,po/256:SYS51668:RETURN 12400 IFd(2)<0THENRETURN 12410 po=1022+(k(i,1)*2)*40+(k(i,2)*4)+pc:GOSUB12104:RETURN 12999 REM phser set up 13000 IFi=1THENh5=h1:c4=k(1,3) 13110 IFi=2THENh6=h1:c2=k(2,3) 13120 IFi=3THENh7=h1:c3=k(3,3) 13200 ONiGOTO13210,13220,13230 13210 IFc4<=0THENh2=2:RETURN 13215 GOTO13240 13220 IFc2<=0THENh3=2:RETURN 13225 GOTO13240 13230 IFc3<=0THENh4=2:RETURN 13240 ONiGOTO13250,13260,13270 13250 c4=c4+h5:IFh5>.15*c4ANDc4-h5>0THENh2=1:RETURN 13260 c2=c2+h6:IFh6>.15*c2ANDc2-h6>0THENh3=1:RETURN 13270 c3=c3+h7:IFh7>.15*c3ANDc3-h7>0THENh4=1:RETURN 13280 ONiGOTO13290,13300,13310 13290 h2=0:RETURN 13300 h3=0:RETURN 13310 h4=0:RETURN 13500 IFi=1THENh2=-1:RETURN 13510 IFi=2THENh3=-1:RETURN 13520 IFi=3THENh4=-1:RETURN 14100 dm=1:u$="{yellow}sensors:{pink} no damage to enemy at {light gray}" 14110 w$="{yellow}units hit klingon - sector{light gray}" 14120 e$="{light green}{space*6}*** klingon destroyed ***{light gray}" 14130 r$="{yellow}{space*4}sensors:{light green}":y$="{yellow}units remaining{light gray}" 14200 IFh2=-1GOTO14250 14210 IFh2=0THENPRINTu$;k(1,1);",";k(1,2):GOTO14250 14220 IFh2>0THENPRINTh5;w$;k(1,1);",";k(1,2) 14225 IFh2=1THENPRINTr$;INT((c4-h5)*100)*.01;y$:GOTO14250 14230 IFh2=2THENPRINTe$ 14250 IFh3=-1GOTO14300 14260 IFh3=0THENPRINTu$;k(2,1);",";k(2,2):GOTO14300 14270 IFh3>0THENPRINTh6;w$;k(2,1);",";k(2,2) 14275 IFh3=1THENPRINTr$;INT((c2-h6)*100)*.01;y$:GOTO14300 14280 IFh3=2THENPRINTe$ 14300 IFh4=-1THENRETURN 14310 IFh4=0THENPRINTu$;k(3,1);",";k(3,2):RETURN 14320 IFh4>0THENPRINTh7;w$;k(3,1);",";k(3,2) 14325 IFh4=1THENPRINTr$;INT((c3-h7)*100)*.01;y$:RETURN 14330 IFh4=2THENPRINTe$:RETURN 15000 v=54272:l1=v:l2=l1+7:l3=54286:h1=l1+1:h2=l2+1:h3=l3+1:v1=l1+4:v2=l2+4 15010 v3=l3+4:FORj=vTO54296:POKEj,0:NEXT:POKEv+24,15 15040 POKEv1+1,40:POKEv1+2,64:POKEv2+1,40:POKEv2+2,72:POKEv3+1,28:POKEv3+2,72 15070 t=ti:f=2.0 15080 POKEv1,32:POKEv2,16:POKEv3,16 15090 READs:IFs=0GOTO15170 15100 READx1,y1,x2,y2,x3,y3 15110 POKEh1,x1:POKEl1,y1:POKEv1,33:POKEh2,x2:POKEl2,y2:POKEv2,17:POKEh3,x3:POKEl3,y3:POKEv3,17 15140 t=t+s*f 15150 IFt>tiGOTO15150 15160 GOTO15080 15170 POKEv+24,31:POKEv+22,88:POKEv+23,247:RETURN 15400 IFPEEK(1665)<>64ANDPEEK(1705)<>64THENRETURN 15402 IFnb=1ANDkd=1THENRETURN 15405 IFb=1ANDkd=0THEN15430 15410 n1=4:n2=4:n3=5:GOTO15530 15430 n1=8:n2=6:n3=7:po=1024+(INT(y0)*2)*40+(INT(x0)*4)-2+pc 15435 IFkm=1THENPOKE51568,1:SYS51569 15530 ws=12:x0=32+32*(x0-1):y0=58+16*(y0-1)+sc:IFhm=1THENx8=x1:y8=y1:x1=x7:y1=y7 15540 x9=x1:x1=32+32*(x1-1):y9=y1:y1=58+16*(y1-1)+sc:yr=y0-y1:xr=x0-x1 15545 IFx0>255THENx0=255 15550 IFx1>255THENxv=x1-256:x1=255:y1=INT(y1+.5+(yr*xv)/ABS(xr+1)) 15560 IFx1<32THENxv=32-x1:x1=32:y1=INT(y1+.5+(yr*xv)/ABS(xr+1)) 15570 IFkp=1OR(b=4ANDkd=0)THENSYS52770,1,y0,x0,y1,x1,4:RETURN 15580 yr=y0-y1:xr=x0-x1:IFb=1ANDkd=0THENPOKE2043,11:GOTO15620 15600 POKE2042,15 15620 IFb=1ANDkd=0ANDxr>0ANDhm<>2ANDkm=0THENPOKE176,192:POKE177,2:SYS51200:er=1 15625 IFb=1ANDkm=1ANDxr<0THENPOKE176,192:POKE177,2:SYS51200:kr=1 15630 IFb=1ANDkm=0THENws=9.5-.5*w1:IFw1<1THENws=20-10*w1 15640 IFABS(xr)<2ANDABS(yr)<2THENGOSUB15940:GOTO15860 15645 POKEvi+21,n1 15650 GOSUB15940:SYS51786,n1,y0,x0,y1,x1,ws 15860 IFhm=1THENSYS5451:y3=x7:x3=y7:GOSUB12000:GOSUB16240:x0=x7:y0=y7:x1=x8:y1=y8 15861 IFhm=1THENhm=2:GOSUB16110:GOTO15530 15865 IFkd=0ANDso=0ANDb=1THEN15900 15870 POKEvi+21,0:SYS52854 15875 IFer=1THENer=0:POKE176,192:POKE177,2:SYS51200 15880 IFkr=1THENkr=0:POKE176,192:POKE177,2:SYS51200 15885 IFkm=1THENPOKE51568,0:SYS51569 15890 RETURN 15900 po=1022+(INT(y9)*2)*40+(INT(x9)*4)+pc 15910 IFkm=0THENGOSUB16120:POKEpo-1,65:POKEpo,83:POKEpo+1,88:GOTO15870 15920 POKEpo-1+v,12:POKEpo-1,90:POKEpo+v,12:POKEpo,27:POKEpo+1+v,12:POKEpo+1,29:GOTO15870 15940 IFb=5ANDkd=0THENGOSUB10200:RETURN 15945 IFb=1ANDkd=0THENPOKEpo-1,32:POKEpo,32:POKEpo+1,32 15946 RETURN 16100 SYS5451:y3=x7:x3=y7 16110 z1=x3:z2=y3:a$="{right*3}":GOSUB8670 16120 l=v+po:POKEl-1,1:POKEl,1:POKEl+1,1:RETURN 16200 IFb=4ANDkd=0THEN16220 16210 x0=31+32*(y3-1):y0=61+16*(x3-1):GOTO16260 16220 x0=31+32*(k(i,2)-1):y0=61+16*(k(i,1)-1)+sc:GOTO16260 16240 x0=x1:y0=y1 16260 POKEvi,x0:POKEvi+1,y0:POKEvi+21,PEEK(vi+21)OR1 16270 FORex=1TO4:POKE2040,13:FORtd=1TO22:NEXTtd:POKE2040,14:FORtd=1TO22:NEXTtd,ex 16300 POKEvi+21,PEEK(vi+21)AND254:RETURN 16450 SYS52480:PRINT"{home}"TAB(25)"{reverse off}{yellow}devices down":PRINTTAB(25)"{cm t*12}":dd=0 16505 IFd(6)<0THENPRINTTAB(24)"{down}{pink}damage control{down}":PRINTTAB(25)"unservicable{yellow}":GOTO16540 16510 FORi=1TO9:IFd(i)=>0THEN16530 16520 GOSUB16900:PRINTTAB(22)g2$INT(d(i)*10)*.1:dd=1 16530 NEXT:IFdd<>1THENPRINTTAB(26)"{down}{light green}all systems{down}":PRINTTAB(26)"operational{yellow}" 16540 PRINT"{home}"TAB(17)q$q$"update{left*6}{down}{cm t*6}" 16650 PRINTTAB(7)q$"{yellow}stardates remaining"SPC(4).1*INT((t0+t9-t)*10) 16660 PRINTTAB(7)"{pink}klingons remaining"SPC(5)INT(k9) 16670 PRINTTAB(7)"{light green}klingons destroyed"SPC(5)INT(k7-k9) 16685 PRINTTAB(7)"{cyan}photon torpedos"SPC(8)INT(p):RETURN 16900 ONiGOTO16910,16920,5,16940,16950,5,16970,16980,16990 16910 g2$="w. engines{space*2}":RETURN 16920 g2$="s.r. scan{space*3}":RETURN 16940 g2$="phasers{space*5}":RETURN 16950 g2$="photon tor{space*2}":RETURN 16970 g2$="shield con{space*2}":RETURN 16980 g2$="l.computer{space*2}":RETURN 16990 g2$="tract beam{space*2}":RETURN 17000 b1=s2:a1=s1:a0=k(i,1):b0=k(i,2):GOSUB8220 17010 IFRND(1)>.5ANDdi<8THENdi=di+RND(1)*(1/FNd(1)):GOTO17030 17020 IFdi>2THENdi=di-RND(1)*(1/FNd(1)) 17030 x=k(i,1):y=k(i,2):g=di:eh=0:k(i,3)=k(i,3)*.90:IFnb=1THENg=FNr(1) 17035 GOTO4835 17040 IFeh=0THEN6200 17050 et=et+1:IFet=3ANDnb=0THENPRINT"{pink}hit by too many torpedos{light gray}":GOTO6240 17060 IFnb=0THENs=s-(INT(RND(1)*150)+350) 17070 SYS5451:GOSUB16240:PRINTTAB(9)"{pink}hit by photon torpedo{light gray}":GOTO6085 23000 PRINT"{clear}"TAB(31)q$"{down*3}{cm a}{cm e}{cm s} 23060 PRINTTAB(13)"{cm @*13}{space*4}NO{cm y}PM 23065 PRINTTAB(13)"M{cm p}{sh @}{cm p*2}{sh @}{cm p*2}{sh @}{cm p*2}N{cm g}M{space*2}N {cm g} {cm m} M{space*2}N 23070 PRINTTAB(23)"{cm n}L{cm g}{cm m}{cm @}{sh @}{cm t*7}L{cm @}{cm g} 23075 PRINTTAB(23)"{cm n}{cm h}{cm g}{cm m}{cm t}P{cm @*7}O{cm t}{cm g} 23080 PRINTTAB(13)"N{cm y}P{cm y*2}P{cm y*2}P{cm y*2}M{cm g}N{space*2}M {cm g} {cm m} N{space*2}M 23085 PRINTTAB(13)"{cm t*13}{space*4}ML{cm p}{sh @}N 23090 PRINTTAB(31)"{cm z}{cm r}{cm x} 23180 IFl4=1THENl4=0:RETURN 23200 c$="{pink}*** warning ***{white}":se=10:c1$="s" 23240 PRINT"{clear}{down}"TAB(12)c$ 23250 PRINTTAB(2)"{down}onboard computers are malfunctioning" 23270 PRINT"{down*2}prepare for manual docking procedure" 23280 PRINT"{down*2}switching to visual in:{down}" 23290 PRINTTAB(17+2-LEN(STR$(se)))se" second"c1$ 23300 se=se-1:IFse=-1THEN23500 23310 IFse=1THENc1$=" " 23320 FORtd=1TO250:NEXT:td=0 23330 PRINT"{home}{down}"TAB(12)z$:d9=d9+1:IFd9=2THENPRINTq$"{down*3}":d9=0:GOTO23290 23340 FORtd=1TO110:NEXT:td=0:PRINT"{home}{down}"TAB(12)c$:GOTO23320 23500 PRINT"{clear}":SYS49814:PRINT"{home}"TAB(31)q$"{reverse off}{down*3}{cm s} 23510 PRINTTAB(24)"{cm d*5}{cm f}N{cm t}M{cm d}{cm d*5} 23520 PRINTTAB(29)"{cm k}{cm g} {cm m}{cm l} 23530 PRINTTAB(24)"{cm u*5}{cm v}M{cm @}N{cm c}{cm u*5}{left*8}{down}{cm z} 23600 IFl4=1THENl4=0:RETURN 24000 m=4:ys=INT(RND(0)*50+75):xs=10 24020 l1=0:l2=0:l3=0:xs=25:ys=INT(RND(0)*50)+75 24025 POKEvi+23,0:POKEvi+29,0:POKEvi+21,8:POKE2043,11:POKEvi+6,xs:POKEvi+7,ys 24050 SYS51489:xs=PEEK(vi+6):ys=PEEK(vi+7) 24150 IFl1=1THEN24180 24160 IFxs=>185THENl1=1:GOSUB25000 24170 IFl1=0THENra=(240-xs)*100+1600:GOTO24250 24180 ra=(155-xs)*50 24190 IFxs<=20ANDl1=1THENl1=0:GOSUB25100 24200 IF(PEEK(vi+31)AND8)=8THENl2=1:l3=l3+1:GOTO24220 24210 l2=0:l3=0:GOTO24250 24220 IFl3=1THENtb=ti+200 24230 IFl2=0THEN24250 24240 IFtb==145ANDxs<=155ANDys>=122ANDys<=124THENPRINT"docked":GOTO24453 24452 GOTO24050 24453 FORx=1TO3000:NEXT:POKEvi+21,0:POKEvi+23,0:POKEvi+29,0 24454 POKEvi+7,0:PRINT"{clear}":RETURN 25000 POKEvi+21,0 25010 l4=1:GOSUB23000:xs=50 25020 POKEvi+23,8:POKEvi+29,8:POKEvi+6,xs:POKEvi+7,ys:POKEvi+21,8:RETURN 25100 POKEvi+21,0:l4=1:GOSUB23500:xs=180:POKEvi+23,0:POKEvi+29,0:POKEvi+6,xs:POKEvi+7,ys 25140 POKEvi+21,8:RETURN 40500 FORlo=1TO31:READsl:FORii=0TO7:READq:POKEsl+ii,q:NEXTii,lo:RETURN 60000 DATA30,34,75,17,37,8,147,8,45,198,22,227,11,114 60015 DATA35,61,126,30,141,15,70,8,57,172,28,214,14,107 60025 DATA9,45,198,22,227,11,114,9,38,126,19,63,9,159 60035 DATA9,51,97,25,177,12,216,40,68,149,34,75,17,37 60045 DATA5,,,,,,,5,68,149,34,75,17,37,40,86,105,43,52,21,154,0 60100 DATA3352,8,8,24,16,48,32,32,254 60110 DATA3360,254,32,32,48,16,24,8,8 60150 DATA2568,255,127,1,0,1,3,0,0 60151 DATA2712,128,131,1,131,255,255,255, 60152 DATA2752,120,255,176,0,0,128,0,0 60160 DATA2768,96,248,255,188,112,0,0,0 60161 DATA2264,0,0,255,7,0,0,0,0 60162 DATA2280,0,240,224,252,56,48,255,255 60170 DATA2328,252,66,253,0,0,253,66,252 60171 DATA2736,189,126,129,189,189,129,126,189 60172 DATA2272,63,66,191,0,0,191,66,63 60180 DATA2344,1,0,4,1,0,2,0,1 60181 DATA2352,36,129,24,60,60,24,129,36 60182 DATA2296,128,0,32,128,0,64,0,128 60190 DATA2744,,,,,,,, 60191 DATA2888,,,,56,,,, 60200 DATA3496,,12,,192,,,48, 60201 DATA3504,,,96,,6,,24, 60202 DATA3512,24,,3,,,192,, 60203 DATA3520,,,,12,,96,,6 60204 DATA3528,48,,,,,6,,12 60300 DATA2432,62,99,99,0,99,99,62,0 60305 DATA2440,24,24,24,0,24,24,24,0 60310 DATA2448,62,3,3,62,96,96,62,0 60315 DATA2456,62,3,3,28,3,3,62,0 60320 DATA2464,99,99,99,60,3,3,3,0 60325 DATA2472,62,96,96,62,3,3,62,0 60330 DATA2480,62,96,96,30,99,99,62,0 60335 DATA2488,126,3,3,0,3,3,3,0 60340 DATA2496,62,99,99,62,99,99,62,0 60345 DATA2504,62,99,99,60,3,3,62,0 61200 DATA10,14,107,57,172,28,214,20,25,177,102,194,51,97 61210 DATA8,24,63,96,254,48,127,8,21,154,86,105,43,52 61220 DATA8,19,63,76,252,38,126,8,18,42,72,169,36,85 61235 DATA20,17,37,68,149,34,75,10,15,70,61,126,30,141 61245 DATA15,14,107,57,172,28,214,20,28,214,115,88,57,172 61255 DATA7,25,177,102,194,51,97,7,24,63,96,254,48,127 61265 DATA7,21,154,86,105,43,52,7,19,63,76,252,38,126 61275 DATA20,18,42,72,169,36,85,10,17,37,68,149,34,75 61285 DATA20,16,47,64,188,32,94,8,18,42,72,169,36,85 61295 DATA8,19,63,76,252,38,126,8,21,154,86,105,43,52 61305 DATA8,24,63,96,254,48,127,8,25,177,102,194,51,97 61315 DATA8,24,63,96,254,48,127,20,28,214,115,88,57,172 61325 DATA30,34,75,137,4,68,149,10,32,94,128,120,64,188 61335 DATA15,28,214,115,88,57,172,20,16,47,64,188,32,94 61345 DATA10,21,154,86,105,43,52,40,19,63,76,252,38,126 61355 DATA15,21,154,86,105,43,52,15,25,177,102,194,51,97 61365 DATA15,32,94,128,120,64,188,80,38,126,153,247,76,252,0 63000 FORx=0TO242STEP3 63010 IFPEEK(x+50450)>0 AND PEEK(x+50452)>0 THENPOKEx+50450,0 63020 IFPEEK(x+50450)>0 AND PEEK(x+50452)=0 THENPRINTx 63030 NEXTx:GOTO1990 stop tok128 (bastext 1.0)