100 POKE 23607,213: POKE 23606,216: POKE 56360,0 110 BORDER 0: GO SUB 9900: LET ofst=1: LET slg=0 114 POKE VAL "23609",VAL "50": POKE VAL "23658",VAL "8" 121 LET c(1)=9999: LET play=0 155 FOR j=1 TO 9: LET h$(j)=b$: NEXT j 157 LET cmp=3: LET pc=60: LET pr=42: PAPER 4: INK 1: GO SUB 4186 160 LET h$(1)=" Do you want to continue your" 165 LET h$(2)=" last game or start a new one?" 170 LET h$(4)=" Press S - Start a new game" 175 LET h$(5)=" C - Reload an old game" 180 LET h$(7)=" Enter your choice." 185 GO SUB 5005 186 RANDOMIZE 0 190 IF k$="S" THEN GO TO 210 195 IF k$="C" THEN GO TO 280 200 GO TO 160 210 FOR j=1 TO 4: LET x$(j)=b$: NEXT j 215 LET passno=4: GO TO 455 280 PRINT AT 18,0;"Insert your game tape";AT 19,0;"and press PLAY/LOAD" 284 PRINT AT 16,0;: LOAD "Inventory" DATA s$(): PRINT AT 17,0: LOAD "Status" DATA x$() 285 GO SUB 5000: LET passno=1 455 LET play=0 456 FOR p=4 TO 1 STEP -1 457 IF x$(p,1 TO 10)=" " THEN LET play=p 458 NEXT p: IF play=1 THEN GO TO 620 459 LET h$(1)="Player Status Location" 460 FOR p=1 TO 4 462 LET h$((p+1),1)=STR$ p 465 LET h$((p+1),3 TO 13)=x$(p,1 TO 10) 470 LET h$((p+1),15 TO 20)=x$(p,11 TO 16) 475 LET h$((p+1),23 TO 26)=x$(p,17 TO 20) 480 NEXT p 485 LET h$(7)="Do you want to ": LET z$="any players? Y/N ": IF play=4 THEN LET h$(7)=b$ 490 IF passno<4 THEN LET h$(8)="delete suspend restart "(passno*8-7 TO passno*8)+z$: GO TO 740 600 IF play=0 AND k$<>"S" THEN GO TO 790 605 LET h$(8)="Add a player? Y/N": IF p=1 THEN LET h$(8)=h$(10): LET h$(7)=b$ 610 GO SUB 5005: IF k$="N" THEN GO TO 790 620 LET p=play: PAPER 4: INK 0: PRINT AT 21,0;"Enter player name ";: LET z$="" 621 IF INKEY$<>"" THEN GO TO 621 622 LET k$=INKEY$: IF k$=CHR$ 13 AND z$<>"" THEN GO TO 629 623 IF k$=CHR$ 12 AND z$<>"" THEN LET z$=z$(1 TO LEN z$-1): PRINT CHR$ 8;CHR$ 32;CHR$ 8;: GO TO 621 624 IF (k$<"A" OR k$>"z") AND k$<>" " OR LEN z$=10 THEN GO TO 622 625 LET z$=z$+k$ 626 BEEP .01,50: PRINT k$;: GO TO 621 629 LET x$(p,1 TO 10)=z$: PRINT AT 21,0;b$ 630 IF x$(p,1 TO 10)=" " THEN GO TO 455 635 LET x$(p,11 TO 16)="NEW" 640 LET h$(1)="You can start at" 645 LET h$(2)=" 1 - Dieppe" 650 LET h$(3)=" 2 - Le Havre" 655 LET h$(4)=" 3 - Cherbourg" 660 LET h$(5)=" 4 - St Malo" 665 LET h$(6)=" 5 - La Rochelle" 670 LET h$(7)=" 6 - Bordeaux" 675 LET h$(8)="Enter the number you want" 680 GO SUB 5005 685 IF k$>"6" OR k$<"1" THEN GO TO 640 690 LET x$(p,17 TO 20)="062212161106180444075407"(VAL k$*4-3 TO VAL k$*4) 715 GO TO 455 740 GO SUB 5005 745 IF k$="N" THEN LET passno=passno+1: GO TO 455 746 PAPER 4: INK 0: PRINT AT 21,0;"Player number" 750 IF INKEY$<>"" THEN GO TO 750 751 LET k$=INKEY$: IF k$<"1" OR k$>"4" THEN GO TO 751 752 LET p=VAL k$: PRINT AT 21,0;b$ 755 IF p<1 OR p>4 THEN GO TO 750 760 IF x$(p,1 TO 10)=" " THEN GO TO 455 765 LET x$(p,11 TO 16)=" SUSPNDACTIVE"(passno*6-5 TO passno*6) 780 GO TO 455 790 FOR p=1 TO 4 795 IF x$(p,11 TO 13)<>"NEW" THEN GO TO 860 800 LET ofst=2*p-1 805 FOR q=1 TO 26 810 LET s$(q,ofst TO ofst+1)="00" 815 NEXT q 820 LET amt=20 825 FOR j=2 TO 4: LET sx=j: GO SUB 5525: NEXT j 845 LET sx=8: GO SUB 5525 850 LET sx=16: GO SUB 5525 852 LET amt=15: LET sx=1: GO SUB 5525: LET amt=1: LET sx=5: GO SUB 5525: LET sx=14: GO SUB 5525 855 LET x$(p,11 TO 16)="ACTIVE" 860 NEXT p 861 LET dayno=1 1005 LET w$="sunny": LET tst=RND*8.9: LET adj=2 1010 IF tst>5 THEN LET w$="cloudy": LET adj=0 1015 IF tst>7 THEN LET w$="wet": LET adj=-2 1020 FOR i=1 TO 20: LET t$(i)=CHR$ 0+CHR$ 0: NEXT i 1030 FOR p=1 TO 4 1035 IF x$(p,11)<>"A" THEN GO TO 1110 1040 FOR j=1 TO 3 1045 LET sx=j: GO SUB 5515: LET amt=amt+adj 1050 GO SUB 5525 1055 NEXT j 1056 LET q=0 1060 LET pr=VAL x$(p,17 TO 18): LET pc=VAL x$(p,19 TO 20) 1065 LET d=ABS (64-pc)+ABS (30-pr) 1070 LET prob=1-d/100 1075 LET gen=RND: IF gen>prob THEN LET q=q+1: IF q<5 THEN GO TO 1075 1080 LET q=q+1: IF q>5 THEN GO TO 1110 1085 LET tr=INT (RND*7.9)+pr-3: LET tc=INT (RND*7.9)+pc-3 1100 LET t$(q+p*5-5,1)=CHR$ tr 1101 LET t$(q+p*5-5,2)=CHR$ tc 1105 GO TO 1075 1110 NEXT p 1205 LET c=9999 1210 LET p=0 1215 FOR j=4 TO 1 STEP -1 1220 IF x$(j,11)="A" THEN LET p=j 1225 NEXT j 1230 IF p<>0 THEN GO TO 1235 1231 LET q=0: FOR p=1 TO 4 1232 IF x$(p,11)="E" THEN LET x$(p,11 TO 16)="ACTIVE": LET q=q+1 1233 NEXT p: IF q=0 THEN GO TO 6700 1234 GO TO 1005 1235 GO SUB 9900 1236 LET r$=x$(p,17 TO 18): LET c$=x$(p,19 TO 20): LET ofst=2*p-1 1237 LET pr=VAL r$: LET pc=VAL c$ 1238 GO SUB 4185 1239 PAPER 1: INK 6: PRINT AT 3,0;"The next player is ";x$(p,1 TO 10) 1240 PRINT AT 6,0;h$(10): IF INKEY$="" THEN GO TO 1240 1250 GO SUB 5001 1280 LET c(1)=PEEK 23673: LET lap=0 1295 PAPER 4: INK 0: PRINT AT 19,0;"The weather is ";w$ 1301 PRINT AT 21,0;"Time to nightfall\{i2} \: \: \: \: \: \: \: \: \: \: \: \: \: \: \{i0}" 1315 LET a(1)=0: LET a(2)=0 1385 GO SUB 4800 1387 LET mtr=99: LET j=1 1390 LET dr=CODE t$(j,1)-pr+4 1400 LET dc=CODE t$(j,2)-pc+4 1410 IF dr=4 AND dc=4 THEN LET mtr=0: GO TO 1445 1415 IF dr<3 OR dr>5 THEN GO TO 1430 1420 IF dc<3 OR dc>5 THEN GO TO 1430 1425 LET mtr=4 1430 LET j=j+1: IF j<21 THEN GO TO 1390 1435 LET h$(1)="There is no TRIPOD danger" 1440 IF mtr=4 THEN LET h$(1)="There are TRIPODS nearby" 1445 IF mtr=0 THEN LET h$(1)="There is a TRIPOD above you" 1446 IF mtr=99 THEN GO TO 1460 1447 LET h$(8)="Tripod/L/R/Move": GO SUB 5005 1448 IF tf=2 THEN GO TO 3501 1449 IF k$="T" THEN GO SUB 2000: GO TO 1722 1450 IF k$="L" OR k$="R" THEN GO SUB 4025 1451 IF k$<>"M" THEN GO TO 1440 1455 GO SUB 2725: GO TO 4033 1460 RANDOMIZE 0: IF slg=1 THEN GO TO 1651 1461 LET a(1)=0: LET a(2)=0: LET ex=0: LET z=0 1462 LET z$=f$(fx,14 TO 20) 1463 LET z$=z$(RND*6+1 TO 7)+z$ 1470 LET z$=z$(1): IF z$=" " THEN GO TO 1610 1475 LET ex=CODE z$-64 1480 LET prob=VAL e$(ex,10) 1485 IF RND*8.9>prob THEN GO TO 1610 1515 LET vx=CODE (e$(ex,9))-64 1520 LET z$=v$(vx): LET qq=19: GO SUB 3160 1525 LET h$(3)="You "+z$+e$(ex,1 TO 8) 1560 FOR k=1 TO 2: LET st=9+2*k: LET a(k)=VAL e$(ex,st TO st+1) 1590 NEXT k: GO TO 1650 1610 LET q=INT (1+RND*2.9) 1620 LET offset=19+2*q: LET a(1)=VAL (f$(fx,offset TO offset+1)) 1650 IF A(1)=0 THEN LET A(1)=A(2): LET A(2)=0 1651 FOR J=1 TO 2 1652 IF a(j)=0 THEN GO TO 1665 1653 LET cnt=cnt+1 1655 LET ax=a(j): LET vx=CODE a$(ax,1)-64 1656 LET z$=v$(vx): LET qq=19: GO SUB 3160 1660 LET h$(j+4)="You can " 1661 LET h$(j+4,9 TO )=z$+a$(ax,2 TO 10): LET h$(j+4,32)=STR$ j 1665 NEXT j 1670 LET h$(8)="L/Mv/R/Pk/Health/1/2/Eat": GO SUB 5005 1680 IF tf=2 THEN GO TO 3501 1681 IF k$="L" OR k$="R" THEN GO SUB 4025: GO TO 1730 1685 IF k$="M" AND a(1)=0 AND a(2)=0 THEN GO TO 4033 1695 IF k$="P" THEN GO SUB 5560: GO TO 1651 1700 IF k$="H" THEN GO SUB 5655: GO TO 1651 1706 IF k$<>"E" THEN GO TO 1710 1707 LET sx=8: GO SUB 5515: IF amt=0 THEN PAPER 4: INK 0: PRINT AT 16,0;"You have no food": BEEP 1.5,-1: PRINT AT 16,0;b$: GO TO 1710 1708 LET amt=amt-1: GO SUB 5525: LET sx=3: GO SUB 5515: LET amt=amt+4: GO SUB 5525: LET sx=2: GO SUB 5515: LET amt=amt+4: GO SUB 5525: PRINT AT 16,0;U$(10): BEEP 1.5,20: PRINT AT 16,0;b$ 1710 IF k$<"1" OR k$>"2" THEN GO TO 1725 1712 LET ax=0: IF k$="1" THEN LET ax=a(1): LET j=1 1715 IF k$="2" THEN LET ax=a(2): LET j=2 1716 IF ax=0 THEN GO TO 1670 1717 GO SUB 3005 1722 IF x$(p,11)="C" THEN GO TO 6505 1724 LET sx=2: GO SUB 5515: IF amt=0 THEN GO TO 6600 1725 LET sx=1: GO SUB 5515: IF amt>1 THEN GO TO 1730 1727 PAPER 4: INK 0: PRINT AT 16,0;"You are too tired ": GO TO 3501 1730 GO TO 1651 2000 LET sx=4: GO SUB 5515: LET imm=amt-4 2005 IF imm<0 THEN LET imm=0 2010 LET sx=17: GO SUB 5515: LET mir=amt 2015 LET sx=18: GO SUB 5515: LET gla=amt 2020 LET sx=24: GO SUB 5515: LET lan=amt 2025 LET sx=21: GO SUB 5515: LET rdo=amt 2030 LET sx=25: GO SUB 5515: LET gre=amt 2035 LET sx=26: GO SUB 5515: LET gun=amt 2040 IF mtr=0 THEN GO TO 2450 2050 LET h$(1)="There are TRIPODS nearby" 2055 LET h$(2)="You could:" 2075 LET h$(3)=" Press H - Hide" 2165 LET h$(5)="Try to disorientate them," 2175 LET h$(6)=" Press M - mirror" 2185 LET h$(7)=" R - radio" 2190 LET h$(8)=" P - examine your pack" 2195 GO SUB 5005: IF tf=2 THEN RETURN 2196 IF k$="H" THEN GO TO 2695 2200 IF k$="M" THEN GO TO 2230 2210 IF k$="R" THEN GO TO 2320 2215 IF k$="P" THEN GO SUB 5560 2220 GO TO 2050 2230 IF mir=0 THEN LET h$(1)="You have no mirror": GO TO 2055 2235 IF w$<>"sunny" THEN LET h$(1)="There is no sun": GO TO 2055 2240 IF RND<0.5 THEN GO TO 2355 2245 LET h$(1)="You dazzled the TRIPOD" 2250 LET h$(2)="with your mirror." 2255 GO TO 2425 2285 IF RND<0.5 THEN GO TO 2055 2320 IF rdo=0 THEN LET h$(1)="You have no radio": GO TO 2055 2325 IF RND<0.5 THEN GO TO 2355 2330 LET h$(1)="You upset the TRIPOD'S" 2335 LET h$(2)="communications systems with" 2340 LET h$(3)="your radio." 2345 GO TO 2425 2355 LET h$(2)="You were unsuccessful" 2360 LET h$(3)="You may soon be capped by the" 2365 LET h$(4)="TRIPODS." 2385 LET imm=imm-1 2390 LET h$(6)=h$(10): GO SUB 5005: GO TO 2810 2425 LET h$(5)="Your TRIPOD immunity is maximum": LET h$(9)=h$(10) 2430 GO SUB 5005 2435 LET imm=20: GO TO 2810 2450 IF imm=0 THEN LET x$(p,11 TO 16)="CAPPED": RETURN 2460 LET imm=imm-2: IF imm<0 THEN LET imm=0 2464 IF imm>0 THEN GO TO 2495 2465 LET h$(1)="Your immunity is zero" 2470 LET h$(3)="The next TRIPOD may cap you" 2475 LET h$(4)="unless you can restore your" 2480 LET h$(5)="immunity by confusing it or" 2485 LET h$(6)="destroy it with your weapons." 2486 LET h$(8)=h$(10) 2490 GO SUB 5005 2495 LET h$(1)="You could try to hide from the" 2500 LET h$(2)="TRIPOD or fight it." 2505 LET h$(4)=" Press G - use grenades" 2510 LET h$(5)=" S - shoot it" 2520 LET h$(6)=" H - hide" 2525 GO SUB 5005: IF tf<>0 THEN GO TO 2695 2535 IF k$="G" THEN GO TO 2565 2540 IF k$="S" THEN GO TO 2580 2550 IF k$="H" THEN GO TO 2695 2555 GO TO 2495 2565 IF gre=0 THEN LET z$="grenades": GO TO 2670 2570 LET gre=gre-1 2575 GO TO 2590 2580 IF gun=0 THEN LET z$="gun": GO TO 2670 2585 LET gun=gun-1 2590 IF RND>0.6 THEN GO TO 2655 2595 LET h$(1)="You destroyed the TRIPOD" 2600 LET h$(2)="All other TRIPODS have been" 2605 LET h$(3)="alerted and your immunity" 2610 LET h$(4)="is zero. Be careful on" 2615 LET h$(5)="your journey." 2616 LET h$(7)=h$(10) 2620 GO SUB 5005: LET imm=0 2625 LET z$=(CHR$ (VAL r$))+(CHR$ (VAL c$)) 2630 FOR j=1 TO 20 2635 IF t$(j)=z$ THEN LET t$(j)=CHR$ 0+CHR$ 0 2640 NEXT j 2645 GO TO 2810 2655 LET h$(1)="Your attack was unsuccessful" 2660 LET h$(5)=h$(10): GO SUB 5005: GO TO 2495 2670 LET h$(1)="You have no "+z$ 2675 LET h$(5)=h$(10): GO SUB 5005: GO TO 2495 2695 IF imm=0 AND RND>0.7 THEN LET x$(p,11 TO 16)="CAPPED": RETURN 2705 IF RND>0.5 THEN GO TO 2725 2710 LET h$(1)="You got away unnoticed" 2715 LET h$(8)=h$(10): GO SUB 5005: GO TO 2810 2725 LET h$(1)="The TRIPOD has noticed you" 2730 LET h$(2)="You will be tracked unless" 2735 LET h$(3)="you are lucky" 2740 LET h$(5)="Your immunity to TRIPODS is" 2745 LET h$(6)="reduced." 2750 LET h$(8)=h$(10): GO SUB 5005 2755 LET imm=imm-2 2810 LET amt=imm: LET sx=4: GO SUB 5525 2815 LET amt=gre: LET sx=25: GO SUB 5525 2820 LET amt=gun: LET sx=26: GO SUB 5525 2822 RETURN 3005 IF a$(ax,11 TO 12)=" " THEN GO TO 3010 3006 LET sx=CODE a$(ax,11)-64 3007 LET need=VAL a$(ax,12) 3008 GO SUB 5515 3009 IF need>amt THEN LET h$(j+4)="You have no "+d$(sx,1 TO 10): LET a(j)=0: RETURN 3010 LET shf=0: LET a(1)=0: LET a(2)=0 3012 LET prob=VAL a$(ax,13) 3015 IF RND*8.9>prob THEN LET shf=7 3020 LET off1=15+shf 3030 FOR k=1 TO 2 3035 LET tst=3*(k-1)+off1 3040 LET z$=a$(ax,tst): IF z$=" " THEN GO TO 3055 3045 GO SUB 5500: GO SUB 5515 3050 LET amt=amt+VAL a$(ax,tst+1 TO tst+2): GO SUB 5525 3055 NEXT k 3100 IF a$(ax,14+shf)="S" THEN : RETURN 3102 IF a$(ax,14+shf)=" " THEN RETURN 3105 LET ux=CODE a$(ax,14+shf)-64 3145 LET h$(4+j)=u$(ux): LET h$(8)=h$(10): GO SUB 5005 3150 RETURN 3160 IF z$(qq)<>" " THEN GO TO 3175 3170 LET qq=qq-1: IF qq>1 THEN GO TO 3160 3175 LET z$=z$(1 TO qq)+" " 3180 RETURN 3501 LET q=0: FOR j=1 TO 4: IF x$(j,11)="C" OR x$(j,11)=" " THEN LET q=q+1 3502 NEXT j 3503 PAPER 0: INK 1: GO SUB 5000: GO SUB 4186: INK 7: PRINT AT 19,4;"It is now night for ";x$(p,1 TO 10) 3505 LET slg=1: LET tf=0: IF q=4 THEN GO TO 6700 3506 LET q=0: FOR j=1 TO 4: IF x$(j,11)="A" THEN LET q=q+1 3520 NEXT j 3525 IF q=1 THEN LET dayno=dayno+1 3530 LET x$(p,11 TO 16)="EOD " 3534 LET sx=1: GO SUB 5515: LET mv=amt 3535 LET sx=8: GO SUB 5515: LET fd=amt: IF fd>10 THEN LET fd=10 3536 LET amt=amt-fd: GO SUB 5525: LET sx=2: GO SUB 5515: LET amt=amt+fd+2: GO SUB 5525 3538 LET sx=3: GO SUB 5515: LET amt=amt+fd: GO SUB 5525 3540 LET sx=8: GO SUB 5515: LET amt=amt-fd: GO SUB 5525 3565 IF dayno<8 THEN GO TO 3580 3580 LET totwt=0 3585 FOR j=5 TO 26 3590 LET sx=j: GO SUB 5515: IF amt=0 THEN GO TO 3600 3595 LET totwt=totwt+amt*VAL (d$(sx,11)) 3600 NEXT j 3605 LET mv=10-INT (totwt/20)+fd 3610 LET sx=5: GO SUB 5515: IF amt<>0 THEN LET mv=mv+5 3615 LET sx=7: GO SUB 5515: IF amt<>0 THEN LET mv=mv+5 3618 LET sx=1: LET amt=mv: GO SUB 5525 3619 IF dayno<8 THEN GO TO 1205 3620 GO SUB 5000: INK 7: PRINT AT 17,0;"PLAYER STATUS": FOR N=1 TO 4: PRINT AT 17+N,0;X$(N,1 TO 16): NEXT N: LET h$(3)=" S - Save" 3621 LET h$(1)="Do you want to" 3623 LET h$(5)=" C - Continue": GO SUB 5005 3624 IF k$="S" THEN GO TO 3630 3625 IF K$<>"C" THEN GO SUB 5020: GO TO 3624 3626 GO TO 861 3630 PRINT AT 18,0;" Insert a blank tape into your ";AT 19,0;" recorder then SAVE & ENTER ";B$;B$;: BEEP .1,50 3631 IF INKEY$<>"" THEN GO TO 3631 3632 IF INKEY$<>CHR$ 13 THEN GO TO 3632 3635 PRINT AT 20,0;: SAVE "Inventory" DATA s$(): PRINT AT 21,0;: SAVE "Status" DATA x$() 3640 GO TO 861 4025 IF k$="R" THEN LET cmp=cmp+1 4030 IF k$="L" THEN LET cmp=cmp+7 4031 IF cmp>8 THEN LET cmp=cmp-8 4032 GO SUB 4185: RETURN 4033 LET dr=0: LET dc=0: LET slg=0 4035 IF cmp=8 OR cmp=1 OR cmp=2 THEN LET dr=-1 4040 IF cmp=6 OR cmp=5 OR cmp=4 THEN LET dr=1 4045 IF cmp=8 OR cmp=7 OR cmp=6 THEN LET dc=-1 4050 IF cmp=2 OR cmp=3 OR cmp=4 THEN LET dc=1 4055 LET sx=1: GO SUB 5515: LET req=1: LET mov=amt 4065 LET mr=pr+dr: LET mc=pc+dc 4070 IF m$(mr,mc)<>"H" THEN GO TO 4090 4075 LET mr=mr+dr: LET mc=mc+dc 4080 LET sx=10: GO SUB 5515: IF amt=0 THEN LET req=7 4081 LET amt=0: LET sx=7: GO SUB 5525 4082 LET sx=9: GO SUB 5525 4090 LET fx=CODE m$(mr,mc)-64: IF fx<0 THEN GO TO 4120 4095 LET req=req+VAL f$(fx,12 TO 13) 4100 IF req<=mov THEN GO TO 4120 4105 PAPER 4: INK 0: PRINT AT 16,0;"You cannot move there": BEEP 1.5,-1: PRINT AT 16,0;b$ 4115 GO TO 1651 4120 LET pr=mr: LET pc=mc 4122 IF m$(pr,pc)="*" THEN LET x$(p,11 TO 16)="WINNER": GO TO 6000 4125 LET amt=mov-req: LET sx=1: GO SUB 5525 4126 LET r$=STR$ pr: IF pr<10 THEN LET r$="0"+r$ 4127 LET c$=STR$ pc: IF pc<10 THEN LET c$="0"+c$ 4128 LET x$(p,17 TO 20)=r$+c$ 4160 GO SUB 4185: GO TO 1385 4185 PAPER 4: INK 0: PRINT AT 17,0;"You are facing ";"N NEE SES SWW NW"(cmp*2-1 TO cmp*2): PAPER 4: INK 1 4186 PRINT AT 8,0;b$;b$;b$;b$;b$;b$;b$;b$ 4187 FOR n=1 TO 10: PLOT 0,110-n*n/3: DRAW 255,0: NEXT n 4191 POKE 55998,64: POKE 55999,64 4192 POKE 55996,pc: POKE 55997,pr 4193 POKE 55995,cmp-1 4194 RANDOMIZE USR 56000 4195 RETURN 4800 LET z$=m$(pr,pc) 4805 LET fx=CODE z$-64 4810 IF z$<>"R" THEN GO TO 4830 4815 FOR j=1 TO 59 4820 IF x$(p,17 TO 20)=l$(j,1 TO 4) THEN LET j$="in "+l$(j,5 TO 15) 4825 NEXT j 4826 GO TO 4846 4830 LET ffx=VAL f$(fx,11)+26 4835 LET z$=f$(ffx,1 TO 10) 4840 LET qq=10: GO SUB 3160: LET j$=z$ 4845 LET j$=j$+f$(fx,1 TO 10) 4846 LET z$=x$(p,1 TO 10): LET qq=10: GO SUB 3160 4850 INK 0: PRINT AT 20,0;b$;AT 20,0;z$;"is ";j$ 4855 RETURN 5000 PRINT AT 16,0;b$;b$;b$;b$;b$;b$: RETURN 5001 PAPER 1: INK 7: PRINT AT 0,0;b$;b$;b$;b$;b$;b$;b$;b$: RETURN 5005 PAPER 1: INK 6: GO SUB 5001: BEEP .1,.5 5010 PRINT AT 0,0;h$(1): LET h$(1)=b$: FOR l=2 TO 8: PRINT h$(l): LET h\{vivn}$(l)=b$: NEXT l 5011 LET ot=0: LET tf=0: PAPER 4: INK 0 5020 IF INKEY$<>"" THEN GO TO 5020 5025 IF INKEY$="" THEN GO TO 5034 5026 LET k$=INKEY$ 5028 IF \{f0}k$>="a" THEN LET k$=CHR$ (CODE (k$)-32) 5029 IF k$<>" " THEN RETURN 5030 PRINT AT 16,24;"FROZEN": IF INKEY$<>"" THEN GO TO 5030 5031 IF INKEY$<>" " THEN GO TO 5031 5032 PRINT AT 16,0;B$: LET ot=PEEK 23673: GO TO 5020 5034 IF c(1)=9999 THEN GO TO 5025 5035 LET nt=PEEK 23673 5036 IF nt=ot THEN GO TO 5025 5037 LET ot=nt 5040 LET lap=lap+1 5050 IF lap<27 THEN GO TO 5060 5052 LET tf=2: RETURN 5060 LET l=INT ((2.5+lap)/2): PRINT AT 21,32-l;b$(1 TO l);: GO TO 5025 5500 LET sx=CODE (z$)-64 5505 RETURN 5515 LET amt=VAL (s$(sx,ofst TO ofst+1)): RETURN 5525 IF amt<0 THEN LET amt=0 5530 LET maxim=VAL d$(sx,12 TO 13): IF amt>maxim THEN LET amt=maxim 5535 LET z$=STR$ (amt): IF LEN z$=1 THEN LET z$="0"+z$ 5540 LET s$(sx,ofst TO ofst+1)=z$ 5545 RETURN 5560 LET h$(1)="You are carrying" 5565 LET h$(2)=" Item Wt QUANTITY Tot.Wt": LET h$(8)=h$(10) 5570 LET lnct=3: LET totwt=0 5575 FOR j=5 TO 26 5580 LET sx=j: GO SUB 5515: IF amt=0 THEN GO TO 5630 5585 LET h$(lnct,1 TO 10)=d$(sx,1 TO 10) 5590 LET h$(lnct,11)=d$(sx,11) 5595 LET h$(lnct,21 TO 22)=s$(sx,ofst TO ofst+1) 5600 LET lwt=amt*VAL (d$(sx,11)): IF lwt>99 THEN LET lwt=99 5606 LET z$=STR$ lwt: IF LEN z$=1 THEN LET z$="0"+z$ 5610 LET h$(lnct,28 TO 29)=z$: LET totwt=totwt+lwt: LET lnct=lnct+1 5615 IF lnct<6 THEN GO TO 5630 5620 GO SUB 5005: IF tf=2 THEN LET j=27: NEXT j: RETURN 5621 LET lnct=3 5625 FOR l=3 TO 7: LET h$(l)=b$: NEXT l 5630 NEXT j 5635 LET h$(7)="Total weight "+STR$ (totwt) 5636 LET h$(8)=h$(10): GO SUB 5005: RETURN 5655 FOR j=1 TO 9: LET h$(j)=b$: NEXT j 5660 LET h$(1)="Your personal state is" 5665 LET h$(8)=h$(10) 5670 FOR j=2 TO 4 5675 LET z$="poor" 5680 LET sx=j: GO SUB 5515 5685 IF amt>5 THEN LET z$="fair" 5690 IF amt>10 THEN LET z$="good" 5692 IF amt>14 THEN LET z$="very good" 5695 IF amt>17 THEN LET z$="excellent" 5700 LET h$(j)=d$(j,1 TO 10)+" - "+z$ 5705 NEXT j 5710 LET sx=1: GO SUB 5515 5715 LET h$(6)="You have "+STR$ (amt)+" move credits" 5720 GO SUB 5005: RETURN 6000 LET z$=x$(p,1 TO 10): LET qq=10: GO SUB 3160: LET h$(1)=z$+" has finished" 6005 LET h$(3)="You got to the WHITE MOUNTAINS!" 6010 LET h$(4)="and you can help the free men" 6015 LET h$(5)="defeat the TRIPODS for good!" 6020 GO TO 6620 6505 LET h$(1)="You have been caught and capped" 6510 LET h$(2)="by the TRIPODS. You have lost." 6511 GO TO 6605 6600 LET h$(1)="Your health has failed." 6605 LET h$(3)="Your companions must continue" 6610 LET h$(4)="without you." 6615 LET h$(5)=" GOODBYE" 6616 LET h$(7)=h$(10) 6620 GO SUB 5005: LET x$(p)=b$: GO TO 1205 6700 FOR j=1 TO 21: PRINT AT j,10;"The game is over": NEXT j 6710 PRINT AT 21,0;h$(10): IF INKEY$="" THEN GO TO 6710 6720 GO TO 100 9900 PAPER 4: INK 1: BRIGHT 1: CLS : GO SUB 5001: RETURN