00: RETURN :: ELSE W=1: GO TO 2230 2290 PUT (XR(B),YR(B))-(XR(B)+9,YR(B)+11),U: RETURN 2300 W=0: PUT (XR(B),YR(B))-(XR(B)+9,YR(B)+11),RA: GO SUB 2310: RETURN 2310 B=B+1: IF B=ZJ THEN B=0: RETURN :: ELSE RETURN 2320 IF RD(B)=0 THEN XR(B)=8:YR(B)=6: GO SUB 2300:B=B+1: IF B=ZJ THEN B=0: RETURN :: ELSE RETURN 2330 GO SUB 2290: IF ABS (XR(B)-XP)<10 THEN IF ABS (YR(B)-YP)<10 THEN 950:: ELSE ON RND (2) GO TO 2340,2380 2340 IF XP>XR(B) THEN IF PPOINT (XR(B)+16,YR(B)+6)=4 THEN XR(B)=XR(B)+24: GO TO 2370:: ELSE GO TO 2370 2350 IF XR(B)=XP THEN 2370 2360 IF PPOINT (XR(B)-8,YR(B)+4)=4 THEN XR(B)=XR(B)-24 2370 GO SUB 2300: RETURN 2380 IF YP>YR(B) THEN IF PPOINT (XR(B),YR(B)+14)=4 THEN YR(B)=YR(B)+20: GO TO 2370:: ELSE GO TO 2370 2390 IF PPOINT (XR(B),YR(B)-6)=4 THEN YR(B)=YR(B)-20 2400 GO TO 2370 2410 CLS : PRINT STRING$ (32,129); STRING$ (32,146); STRING$ (32,163); STRING$ (32,180); STRING$ (32,197); STRING$ (32,214); STRING$ (32,231); STRING$ (9,128);"YOU ESCAPED!!!"; STRING$ (9,128); 2420 PRINT STRING$ (32,129); STRING$ (32,146); STRING$ (32,163); STRING$ (32,180); STRING$ (32,197); STRING$ (32,214); STRING$ (32,231); 2430 POKE 65314,8: GO SUB 2450: GO SUB 2460: FOR I=1 TO 4: GO SUB 2470: NEXT : GO SUB 2460: GO SUB 2450: PLAY "O2;L4;C" 2440 CLS : PRINT @1, STRING$ (30,191);" "; STRING$ (32,175);: PRINT @448, STRING$ (32,175);: PRINT @481, STRING$ (30,191);: PRINT @104: GO TO 970 2450 FOR I=1 TO 2: PLAY "T2;L16;O2;C;O1;C;O2;C;O1;C;O2;C;O1;CGB-CAGFEFGC": NEXT : RETURN 2460 FOR I=1 TO 2: PLAY "DDF#GA;O2;D;O1;A;O2;C;O1;DBAGF#GAC": NEXT : RETURN 2470 PLAY "E;O2;E;O1;E;O2;D;O1;E;O2;C;O1;BF#": RETURN REM REM line numbering breaks here! REM FROM FROM FROM U$  LINE 10 CLS (2): PRINT @128," WELCOME TO COLORSOFT* FLIPPER" 20 PRINT @192," WRITTEN BY HOT DOG (S.WIX0E)" 30 FOR X=0 TO 31: PRINT @256+X, CHR$ (191);: PRINT @288+X, CHR$ (207);: PRINT @320+X, CHR$ (175);: NEXT X 40 :'COPYRIGHT 1981 45 PRINT @448,"* TRADEMARK OF COLOR SOFTWARE SERVICES" 50 FOR X8=1 TO 1500: NEXT X8 80 DIM Z(9,9),MN(3),CM(4),W(8,8),X9(20),Y9(20),LV(4),AX(4),AY(4) 100 PLAY "L12O3CDEGFFAGGO4CO3BO4CO3GEC": CLS 110 PMODE 1,1: COLOR 3,2: PCLS : RESTORE 120 DATA -8,-8,1,1,1,-8,-8,1 130 FOR I=1 TO 4:CM(I)=0: READ AX(I),AY(I): NEXT 140 FOR X=0 TO 191 STEP 23.875 150 LINE (X,0)-(X,191), PSET 160 LINE (0,X)-(190,X), PSET : NEXT 170 LINE (190,0)-(255,0), PSET 180 LINE -(255,191), PSET 190 LINE -(190,191), PSET 200 LINE (190,23)-(236,23), PSET 210 LINE (236,24)-(236,191), PSET 220 LINE (188,142)-(236,142), PSET 230 PRINT : PRINT "NO. OF PLAYERS (0,1,2)?"; 240 N$= INKEY$ : IF N$="" THEN 240 250 X= VAL (N$): IF X>2 THEN SOUND 10,10: GO TO 240 260 PRINT X: PLAY "C": IF X=2 THEN 330 270 IF X=0 THEN 310: ELSE PRINT "YOU MOVE FIRST (Y OR N)? "; 280 N$= INKEY$ : IF N$="" THEN 280 290 PRINT N$: PLAY "E":T=1: IF N$="Y" THEN T=4 300 B$="G":A$="": GO SUB 2210: GO TO 330 310 B$="E":A$="GREEN ":T=1: GO SUB 2210 320 B$="G":A$="RED ":T=4: GO SUB 2210 330 DATA O3C,O3D,O3E,O3F,O3G,O3A,O3B,O4C,O4D,O4E 340 FOR I=0 TO 9: READ H$(I): NEXT 350 PRINT : PRINT "*PRESS*": IF X=0 THEN 380 360 PRINT " enter AFTER EACH MOVE": PRINT " clear TO ERASE MOVE" 370 PRINT " p TO PASS" 380 PRINT " enter FOR NEW GAME WHEN OVER": PRINT " break TO ABORT": PLAY "O4C" 385 PRINT @448,"THERE WILL BE A SHORT PAUSE BEFORE PLAY BEGINS" 390 DATA "R4D8L4U8","BM+2,0D8","R4D4L4D4R4","R4D8L4BM+4,-4L4" 400 DATA "D4R4U4D8","BM+4,0L4D4R4D4L4","D8R4U4L4","R4D8","R4D8L4U8BM+0,+4R4","BM+4,+8U8L4D4R4" 410 FOR I=0 TO 9: READ A$(I): FOR J=0 TO 9:Z(I,J)=0: NEXT : NEXT 420 COLOR 1,2:X=4:Y=6 430 FOR C=1 TO 64 440 D$= STR$ (C): GO SUB 1200 450 B$=A$(I): IF C<10 THEN B$="" 460 DRAW "BM"+ STR$ (X)+","+ STR$ (Y)+B$ 470 X=X+9: DRAW "BM"+ STR$ (X)+","+ STR$ (Y)+A$(J) 480 X=X+15: IF C/8= INT (C/8) THEN Y=Y+24:X=4 490 NEXT 500 SCREEN 1,0: COLOR 4,2:X=196: GO SUB 1720 510 COLOR 1,2:X=216: GO SUB 1720 520 COLOR 3,2:X=236: GO SUB 1720: COLOR 4 530 DATA R8L8D8U4R6,D8R8,"BM+4,0D8",D8U8R8D4L8 540 DATA D8U8R8D4L8,"R8L8D8R8BM-2,-4L6",D8U8R8D4L8R4F4 550 X=242:Y=30:PX=0: FOR I=0 TO 6: READ N$ 560 X$= STR$ (X):Y$= STR$ (Y) 570 DRAW "S16BM198,64"+N$: PLAY "L8"+H$(I): PAINT (198,64),2,3 580 DRAW "S4BM"+X$+","+Y$+N$:Y=Y+24: PLAY "L16"+H$(I): NEXT : PLAY "L16CEGO4CO3GEC" 590 X=4:Y=4:C=1: GO SUB 1110 600 X=5:Y=5: GO SUB 1110 610 Y=4:C=4: GO SUB 1110 620 X=4:Y=5: GO SUB 1110 630 NG=2:NR=2 640 IF C=1 THEN C=4: ELSE C=1 650 IF C=1 THEN CQ=4: ELSE CQ=1 660 MC=0: PAINT (220,38),2,3: PAINT (220,110),2,3 670 D$= STR$ (NG): GO SUB 1200 680 B$=A$(I): IF NG<10 THEN B$="" 690 COLOR 1,2: DRAW "S8BM202,38"+B$+"BM218,38"+A$(J): PLAY "O2C" 700 COLOR 3,2: IF NG>NR THEN COLOR 1,2 710 IF NR>NG THEN COLOR 4,2 720 DRAW "S4BM194,86R4U4L4U4R4BM+8,0L4D8R4BM+4,0U8R4D8L4BM+8,0U8R6D4L6R2F4BM+8,0L4U8R4BM-2,+4L2" 730 COLOR 4,2:D$= STR$ (NR): GO SUB 1200 740 B$=A$(I): IF NR<10 THEN B$="" 750 DRAW "S8BM202,110"+B$+"BM218,110"+A$(J)+"S4": PLAY "O2C" 760 GO SUB 1730:NB=64-NR-NG 770 COLOR C,2: DRAW "BM194,158U8F4E4D8BM+4,0U8R4D8L4BM+8,-8D4F4E4U4BM+10,0L6D8R6BM-2,-4L4" 780 IF NG*NR*NB=0 THEN 1470 790 IF PX=2 THEN 1470 800 COLOR C,2: GO SUB 1210: PLAY "L12O3EEEL4C":P=0 810 IF CM(C)=1 THEN 950 820 FOR I=1 TO 3:MN(I)=0 830 D$= INKEY$ : IF D$="" THEN 830 840 A= ASC (D$): IF A=12 THEN SOUND 113,4: GO SUB 1210:I=1: GO TO 830 850 IF I=3 AND A<>13 THEN 830 860 IF A=13 THEN 1020 870 IF A<>80 THEN 980 880 PAINT (204,182),2,3 890 DRAW "BM196,182U8R6D4L4BM+8,4U4E4F4L5R5D4BM+4,0R4U4L4U4R4BM+8,0L4D4R4D4L4" 900 N=0:P=1: FOR Y=1 TO 8: PLAY "L24"+H$(Y): FOR X=1 TO 8 910 IF Z(X,Y)=2 THEN GO SUB 1250 920 IF P=2 THEN 1220 930 NEXT X: NEXT Y 940 PX=PX+1: GO TO 640 950 DRAW "BM196,174R4BM-2,0D8BM+6,0U8R6D4L6R2F4BM+4,0R4U4L4U4R4BM+8,0"+A$(LV(C)) 960 PLAY "E": GO SUB 1590: IF CI=0 THEN 880 970 GO TO 640 980 MN(I)= VAL (D$) 990 X=196+I*10:X$= STR$ (X) 1000 DRAW "BM"+X$+",174"+A$(MN(I)) 1010 PLAY "L16"+H$(MN(I)): NEXT I 1020 IF I=1 THEN 770 1030 IF I=2 THEN MN(2)=MN(1):MN(1)=0 1040 X$= STR$ (MN(1))+ STR$ (MN(2)):X= VAL (X$) 1050 IF X<1 OR X>64 THEN 1220 1060 Y= INT (X/8)+1 1070 X=8*(X/8- INT (X/8)): IF X=0 THEN X=8:Y=Y-1 1080 IF Z(X,Y)<>2 THEN 1220 1090 N=0: GO SUB 1250 1100 IF N=0 THEN 1220: ELSE 640 1110 Z(X,Y)=C 1120 X1=X:Y1=Y 1130 F=X1*24-12:E=Y1*24-12:Z(X1,Y1)=C 1140 PAINT (F,E),C,3 1150 PX=0: PLAY "L8O4C" 1160 FOR E=Y1-1 TO Y1+1: FOR F=X1-1 TO X1+1 1170 IF Z(F,E)=0 THEN Z(F,E)=2 1180 NEXT F: NEXT E 1190 RETURN 1200 I= VAL ( LEFT$ (D$,2)):J= VAL ( RIGHT$ (D$,1)): RETURN 1210 PAINT (206,174),2,3: RETURN 1220 GO SUB 1210 1230 DRAW "BM204,182U8F8U8BM+4,0R6D8L6U8" 1240 SOUND 1,3: GO TO 800 1250 V=0: FOR J=Y-1 TO Y+1: FOR I=X-1 TO X+1 1260 IF Z(I,J)=CQ THEN GO SUB 1340 1270 NEXT I: NEXT J 1280 IF MC=1 THEN RETURN 1290 IF N=0 THEN 1330 1300 IF P>0 THEN P=2: RETURN 1310 IF C=1 THEN NG=NG+1 1320 IF C=4 THEN NR=NR+1 1330 RETURN 1340 V=1:DY=J-Y:DX=I-X:YI=J+DY:XI=I+DX 1350 IF Z(XI,YI)=2 THEN RETURN 1360 IF Z(XI,YI)=C THEN 1380 1370 V=V+1:YI=YI+DY:XI=XI+DX: GO TO 1350 1380 X1=X:Y1=Y:N=1:V1=0 1390 IF MC=1 THEN RETURN 1400 IF P=1 THEN P=2: RETURN 1410 V1=V1+1: GO SUB 1130 1420 IF C=1 AND V1>1 THEN NG=NG+1:NR=NR-1 1430 IF C=4 AND V1>1 THEN NR=NR+1:NG=NG-1 1440 X1=X1+DX:Y1=Y1+DY 1450 IF V1<=V THEN 1410 1460 RETURN 1470 PAINT (194,158),2,3: COLOR 3,2 1480 PAINT (198,174),2,3 1490 DRAW "BM194,158U8R6D8L6BM+10,-8D4F4E4U4BM+10,0L6D8R6BM-2,-4L4BM+10,4U8R6D4L6R2F4" 1510 D$= INKEY$ : IF D$="" THEN 1510 1520 A= ASC (D$): IF A=13 THEN 100: ELSE 1510 1530 GO SUB 1210:N=X+(Y-1)*8:D$= STR$ (N):CR=1 1540 R= VAL ( LEFT$ (D$,2)):S= VAL ( RIGHT$ (D$,1)) 1550 IF N<10 THEN 1570 1560 DRAW "BM206,174"+A$(R): SOUND R*20+1,3 1570 DRAW "BM216,174"+A$(S): SOUND S*20+1,3 1580 RETURN 1590 N=0:MC=1:CI=0:CC=99: FOR Y=1 TO 8: PLAY "L88"+H$(Y-1): FOR X=1 TO 8 1600 WT=W(X,Y) 1610 IF Z(X,Y)=2 THEN GO SUB 1250 1620 IF N=0 THEN 1680 1630 IF WT>CC THEN 1680 1640 IF WT<>CC THEN 1660 1650 CI=CI+1:X9(CI)=X:Y9(CI)=Y:: GO SUB 5:S$= RIGHT$ ( STR$ (X3),1)+"/"+ RIGHT$ ( STR$ (Y3),1)+ STR$ (KT(I))+" "+ STR$ (EK(I)):X=121:Y=Y1+8: GO SUB 240 3415 NEXT : GO TO 1400 3450 S$="ENTER DESTRUCT CODE: ":X=1:Y=111: GO SUB 240: GO SUB 100 3455 IF R1$<>XX$ THEN GO SUB 70:S$="CODE INVALID":X=1:Y=95: GO SUB 50: GO SUB 240: GO TO 1400 3457 S$="YOU HAVE 10 SECONDS TO ABORT":X=1:Y=95: GO SUB 50: GO SUB 240:I=0 3460 I=I+1 : SOUND 230,2 3465 FOR J=1 TO 100:IK$= INKEY$ : IF IK$<>"" THEN GO SUB 50: GO TO 1400 3470 NEXT J: IF I<11 THEN 3460 : ELSE Q=2: GO TO 3750 3500 S$="NO. TO LOAD(-=UNLOAD)? ":X=1:Y=111: GO SUB 240: GO SUB 100 3505 IF R1>0 THEN 3520 : ELSE R1= ABS (R1): IF R1>T THEN R1=T 3510 T=T-R1:E=E+(R1*250): GO TO 3535 3520 IF R1*250>E THEN 60 3525 E=E-(R1*250):T=T+R1 3535 GO SUB 50: GO SUB 1365: GO TO 1400 3550 FOR J=1 TO 10: SCREEN 1,0: SOUND RND (50)+150,1: SCREEN 1,1: SOUND RND (50)+150,1: NEXT : RETURN 3560 GO SUB 70: GO SUB 70:S$="METEOR STORM APROACHING":X=1:Y=95: GO SUB 50: GO SUB 240: GO SUB 70: GO SUB 70: GO SUB 3550:Q=100+ RND (300):Z=EP:A$=E$:AE=Q: GO SUB 1900 3565 AE= INT (Q/7): FOR I=1 TO 9: IF K(I)=0 THEN 3580 3570 Z=K(I):A$=K$: GO SUB 1900 3580 NEXT 3585 GO SUB 1345: IF SH=0 THEN GO SUB 85 3590 RETURN 3600 S$="WHICH SKILL LEVEL(1-5)? ":X=1:Y=159: GO SUB 240: GO SUB 100:R1= INT (R1): IF R1<1 OR R1>5 THEN 3600 : ELSE R1=R1+(6-(R1*2)):SK=(R1*2)+1 3605 S$="ENTER DESTRUCT CODE: ":X=1:Y=175: GO SUB 240: GO SUB 100: IF R1$="" THEN 3605 : ELSE XX$=R1$ 3607 X=1:Y=Y+16: GO SUB 35 3610 RETURN 3620 PCLS :S$="MISSION INSTRUCTIONS:":X=1:Y=7: GO SUB 240: GO SUB 70 3635 S$="AS CAPTAIN OF THE STARSHIP":X=1:Y=Y+16: GO SUB 240 3640 S$="ENTERPRISE YOU HAVE A 5 YEAR":X=1:Y=Y+8: GO SUB 240 3645 S$="MISSION TO SEEK AND DESTROY"+ STR$ (NK):X=1:Y=Y+8: GO SUB 240 3650 S$="ENEMY VESSELS.":X=1:Y=Y+8: GO SUB 240 3655 S$= STR$ (NB)+" STARBASES ARE AT YOUR":X=1:Y=Y+16: GO SUB 240 3660 S$="DISPOSAL FOR REFUELLING.":X=1:Y=Y+8: GO SUB 240 3665 S$="YOUR DESTRUCT CODE IS:":X=1:Y=Y+16: GO SUB 240 3670 S$=" "+XX$:X=1:Y=Y+8: GO SUB 240 3675 S$="DO NOT LET YOUR VESSEL FALL":X=1:Y=Y+8: GO SUB 240 3680 S$="INTO ENEMY HANDS.":X=1:Y=Y+8: GO SUB 240 3685 S$="GOOD LUCK.":X=1:Y=Y+16: GO SUB 240 3690 S$="PRESS ANY KEY":X=1:Y=Y+24: GO SUB 240 3695 IK$= INKEY$ :A= RND (256): IF IK$="" THEN 3695 : ELSE COLOR 6,5: PCLS : SCREEN 1,1: RETURN 3750 SK=(SK-1)/2:MR=(KN-NK)/SK 3755 IF Q=1 THEN MR= INT (MR*.8):Q1$="ENTERPRISE CAPTURED BY KLINGONS" 3760 IF Q=2 THEN Q1$="ENTERPRISE DESTROYED" 3765 IF Q=3 THEN MR=MR*2:Q1$="5 YEARS OVER-ENTERPRISE RECALLED" 3770 IF Q=4 THEN MR=MR*4:Q1$="ENTERPRISE TOTALLY SUCCESSFUL" 3775 MR= INT (MR) 3790 IF Q<3 THEN GO SUB 3550 : ELSE GO SUB 9040 3795 FOR I=1 TO 2000: NEXT 3800 COLOR 3,2: PCLS : SCREEN 1,0 3805 S$="MESSAGE FROM DEEP SPACE OUTPOST":X=1:Y=7: GO SUB 240: GO SUB 70 3810 S$=Q1$:X=1:Y=Y+16: GO SUB 240 3813 S$= STR$ (KN-NK)+" KLINGON SHIPS WERE DESTROYED":X=1:Y=Y+16: GO SUB 240 3815 IF MR<2 THEN Q1$="DISASTEROUS":Q2$="SUMMARILY EXECUTED": GO TO 3845 3820 IF MR<5 THEN Q1$="TRAITOROUS":Q2$="SENT TO THE SPICE MINES" 3825 IF MR>4 THEN Q1$="LACKLUSTER":Q2$="GIVEN ANOTHER CHANCE" 3830 IF MR>15 THEN Q1$="PROMISING":Q2$="HIGHLY COMMENDED" 3835 IF MR>70 THEN Q1$="EXCELLENT":Q2$="AWARDED THE SILVER PALM" 3840 IF MR>140 THEN Q1$="INCREADIBLE":Q2$="PROMOTED TO ADMIRAL" 3845 S$="FOR THIS "+Q1$+" EFFORT":X=1:Y=Y+16: GO SUB 240 3850 S$="THE ENTERPRISE CAPTAIN WILL BE":X=1:Y=Y+8: GO SUB 240 3855 S$=Q2$:X=1:Y=Y+16: GO SUB 240 3860 S$="CAPTAINS RATING:"+ STR$ (MR):X=1:Y=Y+24: GO SUB 240 3865 S$="ANOTHER MISSION(Y OR N)? ":X=1:Y=Y+24:LT=0: GO SUB 240: GO SUB 100 3867 IF LEFT$ (R1$,1)<>"Y" THEN 3875 3870 PCLS : GO TO 270 3875 CLS : PRINT @224,"CAPTAINS LOG CLOSED....": END 9000 GO TO 9000 9040 TU$="L3O3DL8GL2O+CO-BL7GEAL1O+DL2DL1F#T2" 9045 PLAY "T3"+TU$: RETURN 10000 INPUT A: PRINT A,A+(6-(2*A)): GO TO 10000 REM REM line numbering breaks here! REM OM LAST AWAY MATCH-$450":CA=CA-450: RETURN 5000 PRINT @192," LATE FOR LAST MATCH - FINED $1000":CA=CA-1000: RETURN 5010 PRINT @192," TAKE TEAM FOR BREAK IN SPAIN - $2000":CA=CA-2000: RETURN 5020 PRINT @192," NEW MOWER - $850 ":CA=CA-850: RETURN 5030 PRINT @192," LAUNDRY BILL - $350 ":CA= REM REM ************************************************* REM * Dragon file header detected: * REM * Start: $1801 Length: $2814 Exec: $8b8d * REM *(Start: 06145 Length: 10260 Exec: 35725) * REM ************************************************* REM 10 GO TO 42::'V1.1 20 IF PEEK (341)= AN THEN N=0:: ELSE IF PEEK (342)= AN THEN N=63:: ELSE N=32 30 IF PEEK (343)= AN THEN M=0:: ELSE IF PEEK (344)= AN THEN M=63:: ELSE M=32 40 RETURN 42 PMODE 1,1: PCLEAR 2: CLS 4: PRINT @257,"DRAGON OR TANDY COLOR?(D OR T)"; 44 POKE 65314,8:A$= INKEY$ : IF A$="D" THEN AN=223:: ELSE IF A$="T" THEN AN=247:: ELSE 44 50 CLS 3: PRINT @263,"JOYSTICKS? (Y OR N)"; 60 A$= INKEY$ : IF A$="Y" THEN JS=1:: ELSE IF A$="N" THEN JS=0:: ELSE 60 70 PMODE 1,1: CLS 3: PCLS 4 80 COLOR 3,1: PLAY "O4;V31": DIM MA(5),MB(8),F(8),G(8),FA(8),GA(8),XR(2),YR(2),RD(2),J(2),QB(4) 90 FOR Y=0 TO 176 STEP 44: LINE (0,Y)-(224,Y+10), PSET ,BF: NEXT Y 100 CLS 4: FOR X=0 TO 224 STEP 56: LINE (X,0)-(X+14,191), PSET ,BF: NEXT 110 LINE (240,0)-(255,191), PRESET ,BF 120 LINE (224,88)-(255,98), PSET ,BF 130 CLS 5:XP=2:YP=0: LINE (0,188)-(255,191), PRESET ,BF 140 ZJ=0:ZZ=3: DIM RA(3),VA(3),VB(3),U(3):F(0)=228:F(1)=228:F(2)=228:G(0)=0:G(1)=88:G(2)=176:A=0:B=0 150 GET (2,100)-(11,111),U 160 DRAW "BM232,176;C2;D6;U2;E4;G4;H4;F4;D2;F4;H4;G4" 170 GET (228,176)-(237,187),VA 180 DRAW "BM6,0;C1;D6;U2;E4;G4;H4;F4;D2;F4;H4;G4" 190 GET (2,0)-(11,11),VB 200 COLOR 2,3 210 FOR Y=0 TO 176 STEP 44: LINE (92,Y)-(92,Y+10), PSET : LINE (204,Y)-(204,Y+10), PSET : NEXT 220 FOR X=56 TO 224 STEP 56: LINE (X,26)-(X+14,26), PSET : LINE (X,162)-(X+14,162), PSET : NEXT 230 FOR X=56 TO 112 STEP 56: LINE (X,70)-(X+14,70), PSET : LINE (X,114)-(X+14,114), PSET : NEXT 240 FOR Y=44 TO 132 STEP 88: LINE (36,Y)-(36,Y+10), PSET : NEXT 250 LINE (148,88)-(148,98), PSET 260 Q=200-ZZ*10-ZJ*25 270 SCREEN 1,0 280 IF JS=0 THEN GO SUB 20:: ELSE M= JOYSTK (0):N= JOYSTK (1) 290 PUT (XP,YP)-(XP+9,YP+11),U 300 IF M>48 THEN IF PPOINT (XP+18,YP)=3 THEN IF PPOINT (XP+18,YP+10)=3 THEN XP=XP+8 310 IF XP=2 THEN 320:: ELSE IF M<16 THEN IF PPOINT (XP-6,YP)=3 THEN IF PPOINT (XP-6,YP+10)=3 THEN XP=XP-8 320 IF N>48 THEN IF PPOINT (XP,YP+14)=3 THEN IF PPOINT (XP+8,YP+14)=3 THEN YP=YP+4 330 IF YP=0 THEN 340: ELSE IF N<16 THEN IF PPOINT (XP,YP-2)=3 THEN IF PPOINT (XP+8,YP-2)=3 THEN YP=YP-4 340 IF YP=172 THEN IF N>48 THEN YP=YP+4 350 IF ABS (XP-F(A))<16 THEN IF ABS (YP-G(A))<16 THEN 950 360 PUT (XP,YP)-(XP+9,YP+11),VB: PLAY "T255;L255;G" 370 PUT (F(A),G(A))-(F(A)+9,G(A)+11),U: GO SUB 490:A=A+1: IF A=ZZ THEN A=0 380 IF A>0 THEN PUT (F(A-1),G(A-1))-(F(A-1)+9,G(A-1)+11),VA:: ELSE PUT (F(ZZ-1),G(ZZ-1))-(F(ZZ-1)+9,G(ZZ-1)+11),VA 390 IF ABS (XP-F(A))<16 THEN IF ABS (YP-G(A))<16 THEN 950 400 PUT (F(A),G(A))-(F(A)+9,G(A)+11),U: GO SUB 490:A=A+1: IF A=ZZ THEN A=0 410 IF A>0 THEN PUT (F(A-1),G(A-1))-(F(A-1)+9,G(A-1)+11),VA: GO TO 430 420 PUT (F(ZZ-1),G(ZZ-1))-(F(ZZ-1)+9,G(ZZ-1)+11),VA 430 IF XP>240 THEN 1060 440 Q=Q-1: IF Q<10 THEN GO SUB 790 450 IF Q<20 THEN SOUND 100,1 460 IF Q=0 THEN GO TO 780 470 IF ZJ>0 THEN ON RND (4-ZJ) GO SUB 2190 480 GO TO 280 490 IF FA(A)<>0 THEN 560:: ELSE IF GA(A)<>0 THEN 600 500 IF F(A)=XP+2 THEN IF G(A)10 THEN FA(A)=-7: RETURN 520 IF F(A)<220 THEN FA(A)=7: RETURN 530 IF G(A)>10 THEN GA(A)=-11: RETURN 540 IF G(A)<168 THEN GA(A)=11: RETURN 550 GO TO 510 560 IF G(A)=YP THEN 580:: ELSE IF FA(A)>0 THEN FA(A)=FA(A)-1:F(A)=F(A)+8:: ELSE FA(A)=FA(A)+1:F(A)=F(A)-8 570 RETURN 580 IF F(A)0 THEN GA(A)=GA(A)-1:G(A)=G(A)+4:: ELSE GA(A)=GA(A)+1:G(A)=G(A)-4 610 RETURN 620 IF G(A)F(A) THEN F(A)=F(A)+8: GO TO 700 670 IF F(A)>4 THEN IF PPOINT (F(A)-6,G(A))=3 THEN IF PPOINT (F(A)-6,G(A)+10)=3 THEN F(A)=F(A)-8: GO TO 690 680 GA(A)= RND (8)* INT ((-1)^( RND (2))): GO TO 500 690 IF F(A)<0 THEN F(A)=0 700 A=A+1: IF A=ZZZ THEN A=0 710 RETURN 720 FA(A)=0:GA(A)=0: PUT (F(A),G(A))-(F(A)+9,G(A)+11),U 730 PLAY "T255;L255;C" 740 IF PPOINT (F(A),G(A)+12)=3 THEN IF PPOINT (F(A)+10,G(A)+12)=3 THEN IF YP>G(A) THEN G(A)=G(A)+4: GO TO 770 750 IF G(A)>0 THEN IF PPOINT (F(A),G(A)-4)=3 THEN IF PPOINT (F(A)+10,G(A)-4)=3 THEN G(A)=G(A)-4: GO TO 770 760 FA(A)= RND (6)* INT ((-1)^( RND (2))): GO TO 500 770 GO TO 700 780 I=0: ON GN GO TO 830,890 790 IF Q=9 THEN GN= RND (2) 800 ON GN GO TO 810,820 810 FOR I=0 TO 176 STEP 44: PSET (230+Q,I+6,2): NEXT : RETURN 820 FOR I=0 TO 224 STEP 56: PSET (I+6,10-Q,2): NEXT : RETURN 830 I=I+1: FOR J=0 TO 176 STEP 44: LINE (234,J+6)-(0,J+6), PSET : NEXT 840 FOR J=0 TO 176 STEP 44: IF ABS (YP-J)<8 THEN FOR L=1 TO 10: PLAY "B": LINE (XP,YP)-(XP+10,YP+10), PSET ,BF: LINE (XP,YP)-(XP+10,YP+10), PRESET ,BF: NEXT :: ELSE 850 850 LINE (234,J+6)-(0,J+6), PRESET 860 PLAY "CFB": NEXT : IF I<10 THEN 830 870 FOR J=0 TO 176 STEP 44: IF ABS (YP-J)<8 THEN 950:: ELSE NEXT 880 FOR J=0 TO 176 STEP 44: LINE (238,J+6)-(0,J+6), PRESET : NEXT : GO TO 210 890 I=I+1: FOR J=0 TO 224 STEP 56: LINE (J+6,0)-(J+6,180), PSET : NEXT 900 FOR J=0 TO 224 STEP 56: IF ABS (XP-J)<8 THEN FOR L=1 TO 10: PLAY "B": LINE (XP,YP)-(XP+10,YP+10), PSET ,BF: LINE (XP,YP)-(XP+10,YP+10), PRESET ,BF: NEXT :: ELSE 910 910 LINE (J+6,0)-(J+6,180), PRESET 920 PLAY "CFB": NEXT : IF I<10 THEN 890 930 FOR J=0 TO 224 STEP 56: IF ABS (XP-J)<8 THEN 950:: ELSE NEXT 940 GO TO 880 950 CLS : PRINT @1, STRING$ (30,191): PRINT @32, STRING$ (32,175): PRINT @448, STRING$ (32,175);: PRINT @481, STRING$ (30,191);: PRINT @104,"THEY GOT YOU!!!" 960 FOR I=1 TO 50:G= RND (100): SOUND G,1: NEXT 970 PRINT : PRINT " YOUR SCORE: ";ST 980 IF ST>HS THEN HS=ST 990 PRINT : PRINT " HIGH SCORE: ";HS 1000 FOR I=0 TO ZZ:FA(I)=0:GA(I)=0: NEXT I: PLAY "O4" 1010 PRINT : PRINT " YOU WENT THROUGH"ZZ-3+ZJ*6+ZK*18"WINGS!": PRINT : PRINT " TRY AGAIN?"; 1020 A$= INKEY$ : IF A$="Y" THEN XP=2:YP=0:ZZ=3:ZJ=0:ZK=0: GO SUB 1040:ST=0:B=0: GO TO 1150:: ELSE IF A$="N" THEN END :: ELSE 1020 1030 END 1040 F(0)=228:F(1)=228:F(2)=228:G(0)=0:G(1)=88:G(2)=176:A=0 1050 RETURN 1060 COLOR 4,2:F(ZZ)=228:G(ZZ)=176:ZZ=ZZ+1: LINE (88,88)-(168,102), PRESET ,BF: FOR I=0 TO ZJ-1:RD(I)= INT (( ABS (XR(I)-XP))/3+( ABS (YR(I)-YP))/3): NEXT I 1070 PLAY "L187": IF ZZ=6 THEN K=4: GO SUB 1100: GO TO 1230 1080 K=4 1090 IF ZZ=9 THEN GO SUB 1930: GO SUB 1100: GO TO 1150: ELSE GO SUB 1100: GO TO 1150 1100 SCREEN 1,0: COLOR 4,2: FOR I=88 TO 2 STEP -2: LINE (I,I)-(I+80+(88-I)*2,I+14+(88-I)*2), PRESET ,B:XQ$= STR$ (I/2-(K-1)*12): IF I/2-(K-1)*12=0 THEN K=K-1:XQ$="12" 1110 PLAY "L10;T20":K$= RIGHT$ ( STR$ (K),1):V$="O"+K$+";"+ RIGHT$ (XQ$,2): PLAY V$: NEXT : PCLS 4: PLAY "O4" 1120 CLS :ST=ST+Q: FOR J=1 TO ZZ-1: FOR I=1 TO 3:ST=ST+50: PRINT @0, STRING$ (32,159); STRING$ (32,175); STRING$ (32,191); STRING$ (32,207); 1130 PRINT @384, STRING$ (32,207); STRING$ (32,191); STRING$ (32,175); STRING$ (31,159);: POKE 1535,159 1140 PRINT @205,"SCORE:": SOUND 200,1: PRINT @304- LEN ( STR$ (ST))/2-.5,ST: NEXT : NEXT : FOR I=152 TO 200 STEP 2: SOUND I,1: NEXT : RETURN 1150 CLS 3: PCLS 4: COLOR 3,1:XP=2:YP=0: FOR Y=0 TO 176 STEP 44: LINE (0,Y)-(224,Y+10), PSET ,BF: NEXT 1160 CLS 4: FOR X=0 TO 224 STEP 56: LINE (X,0)-(X+14,191), PSET ,BF: NEXT 1170 LINE (240,0)-(255,191), PRESET ,BF 1180 CLS 5: LINE (224,88)-(255,98), PSET ,BF 1190 LINE (0,188)-(255,191), PRESET ,BF 1200 IF ZZ=11 THEN ZZ=3 1210 FOR A=0 TO ZZ: IF F(A)<56 THEN F(A)=F(A)+56: NEXT :: ELSE NEXT 1220 CLS 7:A=0: GO TO 150 1230 SCREEN 1,0: FOR I=0 TO 2:J(I)=0: NEXT 1240 COLOR 2,1: PCLS 4: FOR X=72 TO 216 STEP 48: LINE (X,0)-(X,191), PSET : NEXT 1250 LINE (240,0)-(255,80), PRESET ,BF 1260 LINE (240,100)-(255,191), PRESET ,BF 1270 LINE (0,180)-(255,191), PRESET ,BF 1280 COLOR 2,3: FOR X=24 TO 216 STEP 96: LINE (X,0)-(X,178), PRESET : NEXT 1290 LINE (0,162)-(26,178), PRESET ,B: LINE (98,0)-(122,18), PRESET ,B: LINE (194,162)-(218,178), PRESET ,B 1300 FOR Y=20 TO 160 STEP 20: LINE (24,Y)-(238,Y), PSET : NEXT 1310 DRAW "C2;BM132,94;U8;H2;D2;R6;U2;G2;D4;R4;L10;R4;D2;F6;H4;U2;G6" 1320 FOR I=0 TO 2:TS(I)=-1: NEXT I 1330 MX=128:MY=84: GET (128,84)-(139,99),MA 1340 GET (128,64)-(139,99),MB 1350 DRAW "BM12,6;C1;D6;U2;E4;G4;H4;F4;D2;F4;H4;G4" 1360 GET (8,6)-(17,17),VB 1370 XP=8:YP=6: GET (8,20)-(17,31),U 1380 COLOR 3,4: LINE (98,20)-(122,20), PRESET : LINE (192,160)-(218,160), PRESET 1390 FOR I=24 TO 216 STEP 96: IF J((I-24)/96)<>1 THEN LINE (I,0)-(I,178), PRESET : LINE (I,(TS((I-24)/96)+1)*20)-(I,178), PSET : NEXT :: ELSE NEXT 1400 FOR I=8 TO 200 STEP 192: IF YP=166 THEN IF XP=I THEN IA=(I-8)/96: GO SUB 1750: NEXT I:: ELSE NEXT :: ELSE NEXT 1410 IF YP=6 THEN IF XP=104 THEN I=104:IA=1: GO SUB 1750 1420 PUT (XP,YP)-(XP+9,YP+11),U 1430 IF JS=0 THEN GO SUB 20:: ELSE M= JOYSTK (0):N= JOYSTK (1) 1440 IF M>48 THEN IF PPOINT (XP+16,YP+6)=4 THEN XP=XP+24 1450 IF M<16 THEN IF XP>8 THEN IF PPOINT (XP-8,YP+4)=4 THEN XP=XP-24 1460 IF N>48 THEN IF PPOINT (XP,YP+14)=4 THEN YP=YP+20 1470 IF N<16 THEN IF YP>6 THEN IF PPOINT (XP,YP-6)=4 THEN YP=YP-20 1480 PUT (XP,YP)-(XP+9,YP+11),VB 1490 PLAY "V15;G" 1500 PUT (MX,MY)-(MX+11,MY+15),MB 1510 IF MD=0 THEN MD=1: GO TO 1540 1520 IF MX=XP THEN SOUND 10,1: GO SUB 1790 1530 IF MY=YP-2 THEN SOUND 10,1: GO SUB 1850:: ELSE MD=0: GO TO 1550 1540 GG= RND (4): ON GG GO SUB 1590,1630,1680,1720 1550 PUT (MX,MY)-(MX+11,MY+15),MA 1560 IF ZJ>0 THEN ON RND (4-ZJ) GO SUB 2190 1570 IF XP>240 THEN PLAY "V31": GO TO 1060 1580 GO TO 1390 1590 IF MX=80 THEN IF MY=4 THEN RETURN 1600 IF MX=176 THEN IF MY=164 THEN RETURN 1610 IF MX<224 THEN LINE (MX+16,MY-2)-(MX+16,MY+14), PRESET :MX=MX+24 1620 RETURN 1630 IF MX=32 THEN IF MY=164 THEN RETURN 1640 IF MX=128 THEN IF MY=4 THEN RETURN 1650 IF MX=224 THEN IF MY=164 THEN RETURN 1660 IF MX>8 THEN LINE (MX-8,MY-2)-(MX-8,MY+14), PRESET :MX=MX-24 1670 RETURN 1680 IF MX=8 THEN IF MY=144 THEN RETURN 1690 IF MX=200 THEN IF MY=144 THEN RETURN 1700 IF MY<164 THEN LINE (MX-6,MY+16)-(MX+14,MY+16), PRESET :MY=MY+20 1710 RETURN 1720 IF MX=104 THEN IF MY=24 THEN RETURN 1730 IF MY>4 THEN LINE (MX-6,MY-4)-(MX+14,MY-4), PRESET :MY=MY-20 1740 RETURN 1750 IF TS(IA)>8 THEN RETURN 1760 SOUND 1,1 1770 TS(IA)=TS(IA)+1: IF TS(IA)=9 THEN J(IA)=1: RETURN 1780 RETURN 1790 IF MX=8 THEN IF MY=144 THEN RETURN 1800 IF MX=200 THEN IF MY=144 THEN RETURN 1810 IF MX=104 THEN IF MY=24 THEN RETURN 1820 IF MY>YP-2 THEN LINE (MX-6,MY-4)-(MX+14,MY-4), PRESET :MY=MY-20 1830 IF MYXP THEN LINE (MX-8,MY-2)-(MX-8,MY+14), PRESET :MX=MX-24 1910 IF MX2 THEN 2410:: ELSE PRINT @98,"YOU GOT THROUGH BUILDING";ZJ+ZK*3;"!";: PRINT @237,"BONUS:";: PRINT @301,ZJ*2000;:ST=ST+ZJ*2000: FOR L=1 TO 4: FOR I=250 TO 220 STEP -2: SOUND I,1: NEXT I: NEXT L: PCLS 3: IF ZJ>3 THEN B=0:ZK=ZK+1:ZJ=1: RETURN :: ELSE RETURN 2180 FOR I=0 TO 2:F(I)=228:G(I)=I*88: NEXT I: FOR I=0 TO 7:FA(I)=0:GA(I)=0: NEXT I: RETURN 2190 RD(B)=RD(B)-1: IF RD(B)>0 THEN 2310:: ELSE IF ZZ=6 THEN 2320 2200 IF RD(B)=0 THEN XR(B)=2:YR(B)=0: GO SUB 2300: RETURN 2210 GO SUB 2290: IF ABS (XR(B)-XP)<10 THEN IF ABS (YR(B)-YP)<10 THEN 950 2220 IF ABS (XR(B)-XP)< ABS (YR(B)-YP) THEN 2230:: ELSE 2260 2230 IF PPOINT (XR(B),YR(B)+12)=3 THEN IF PPOINT (XR(B)+10,YR(B)+12)=3 THEN IF YP>YR(B) THEN YR(B)=YR(B)+4: IF B=ZJ THEN B=0: GO SUB 2300: RETURN :: ELSE GO SUB 2300: RETURN 2240 IF YR(B)>3 THEN IF PPOINT (XR(B),YR(B)-4)=3 THEN IF PPOINT (XR(B)+10,YR(B)-4)=3 THEN YR(B)=YR(B)-4: IF B=ZJ THEN B=0: GO SUB 2300: RETURN :: ELSE GO SUB 2300: RETURN 2250 IF W=1 THEN GO SUB 2300: RETURN :: ELSE W=1: GO TO 2260 2260 IF PPOINT (XR(B)+16,YR(B))=3 THEN IF PPOINT (XR(B)+16,YR(B)+10)=3 THEN IF XP>XR(B) THEN XR(B)=XR(B)+8: IF B=ZJ THEN B=0: GO SUB 2300: RETURN :: ELSE GO SUB 2300: RETURN 2270 IF XR(B)>5 THEN IF PPOINT (XR(B)-4,YR(B))=3 THEN IF PPOINT (XR(B)-4,YR(B)+10)=3 THEN XR(B)=XR(B)-8: IF B=ZJ THEN B=0: GO SUB 2300: RETURN :: ELSE GO SUB 2300: RETURN 2280 IF W=1 THEN GO SUB 23 REM REM ************************************************* REM * Dragon file header detected: * REM * Start: $2401 Length: $41de Exec: $8b8d * REM *(Start: 09217 Length: 16862 Exec: 35725) * REM ************************************************* REM 1 PCLEAR 4: CLS : PRINT @96,"PLEASE LEAVE THE play BUTTON DEPRESSED. WHEN READY": PRINT "PRESS ANY KEY" 2 A$= INKEY$ :A= RND (256): IF A$="" THEN 2 : ELSE CLS : PRINT @96,"IF THERE IS A break IN PLAY TYPE'SCREEN1,1:GOTO1400' TO CONTINUEOR": PRINT "'GOTO 3870' FOR A NEW GAME" 3 PMODE 3,1: PCLS : SCREEN 1,0: CLOAD M: GO TO 270 5 Y= INT (Z/8)+1:X=Z-(8*(Y-1)): IF X=0 THEN X=8:Y=Y-1 10 X3=X:Y3=Y:X=(X*16)-7:Y=(Y*8)+7:P= PPOINT (X+4,Y-4): RETURN 30 DRAW "BM"+ STR$ (X)+","+ STR$ (Y)+A$: RETURN 35 S$="LAG TIME(1-5.ENTER=NONE)? ": GO SUB 240: GO SUB 100: IF R1<1 OR R1>5 THEN LT=0: RETURN 36 LT=(R1-1)*150: IF LT=0 THEN LT=50 37 RETURN 40 IF LEN (R1$)=0 THEN RETURN : ELSE R1$= LEFT$ (" ",L- LEN (R1$))+R1$: RETURN 50 COLOR 5,5: LINE (0,87)-(255,111), PSET ,BF: COLOR 6,5: RETURN 55 DH=0: COLOR 5,5: LINE (255,112)-(113,191), PSET ,BF: COLOR 6,5: RETURN 60 GO SUB 50: FOR I=100 TO 110: SOUND I,1: NEXT :X=1:Y=95:S$="NOT ENOUGH ENERGY": GO SUB 240: GO TO 1400 65 COLOR 5,5: LINE (X,Y)-(X+13,Y-6), PSET ,BF: COLOR 6,5: RETURN 70 FOR J2=200 TO 230 STEP 3: SOUND J2,1: NEXT : RETURN 75 COLOR 5,5: LINE (217,Y)-(255,Y-7), PSET ,BF: COLOR 6,5: RETURN 80 X=1:Y=95:S$="SORRY SIR. "+CM$(R1)+" DAMAGED": GO SUB 50: GO SUB 240: GO TO 1400 85 SOUND 50,4: SOUND 200,6:S$="EXTENSIVE DAMAGES":X=1:Y=95: GO SUB 50: GO SUB 240: RETURN 90 X1$=S$: GO SUB 2050: IF RND ( INT (SK/2)+1)= INT (SK/2)+1 THEN GO SUB 3150: GO SUB 1380 95 S$=X1$:X=1:Y=111: GO SUB 50: GO SUB 240 100 X1=X:R1$="": SOUND 100,1 105 BM$="BM"+ STR$ (X)+","+ STR$ (Y):Q=0 110 LINE (X,Y)-(X+5,Y-7), PRESET ,BF: DRAW BM$+C$(1) 115 IK$= INKEY$ :Q=Q+1: IF LT>0 AND K>0 AND Q=LT THEN 90 : ELSE IF LT>0 AND Q=LT THEN X1$=S$: GO SUB 1380:X=1:Y=95:S$=X1$: GO SUB 50: GO SUB 240: GO TO 100 120 IF IK$="" THEN 115 : ELSE LINE (X,Y)-(X+5,Y-7), PRESET ,BF 125 SOUND 150,1 127 R7= VAL (R1$) 130 IK= ASC (IK$): IF IK<>13 THEN 140 : ELSE IF LT>0 AND K>0 AND RND (SK)=SK THEN GO SUB 2050: IF RND (SK)=SK THEN GO SUB 3150 135 R1=R7: RETURN 140 IF IK>96 AND IK<123 THEN IK=IK-32 150 IF IK<>21 AND IK <>8 THEN 180 160 X=X-8: IF X254 THEN X=X-8: GO TO 105 200 R1$=R1$+IK$: GO TO 105 240 FOR I5=1 TO LEN (S$): DRAW "BM"+ STR$ (X)+","+ STR$ (Y)+C$( ASC ( MID$ (S$,I5,1))) 250 X=X+8: NEXT : RETURN 270 PMODE 3,1: COLOR 3,2: SCREEN 1,0: GO SUB 9040 275 CLEAR 5000 280 DIM C$(130),Q$(64) 285 DATA 0,-1,1,-1,1,0,1,1,0,1,-1,1,-1,0,-1,-1 287 DATA HELM,SHIELDS,TORPS,PHASERS,COMPUTER,PROBE,DESTRUCT,DAMAGES,LOAD TORPS 290 X=1:Y=7:SD$="STARDATE 21"+ RIGHT$ ( STR$ ( RND (50)+10),2):YR=5.5:T=10:E=3000:SH=100:AL=1:DL$=" OUT" 295 FOR I=1 TO 8: READ DX(I),DY(I): NEXT 297 DM(1)=-8:DM(3)=1:DM(5)=8:DM(7)=-1 300 C$(65)="U4BRU1BRU1BDR1BDR1D4U2L4" 310 C$(66)="U6R2BR1BD1D1BD1BL1L2R2BR1BD1D1BD1BL1L2" 320 C$(67)="BU1U4BRU1R2DR1BD4L1BD1L2" 330 C$(68)="U6R2BRBDD4BDBLL2" 340 C$(69)="R4L4U3R2L2U3R4" 350 C$(70)="U3R2L2U3R4" 360 C$(71)="BUU4BUBRR3BD3L1R1D3L3" 370 C$(72)="U6BR4D6U3L4" 380 C$(73)="BR2U6" 390 C$(74)="BUU1BD2BRR2BRBUU5" 400 C$(75)="U6D3RRURURUBD6ULULUL" 410 C$(76)="R4L4U6" 420 C$(77)="U6DRBDBRDUBRBURUD6" 430 C$(78)="U6D2RBRBDDBRBDDRU6" 440 C$(79)="U6R4D6L4" 450 C$(80)="U6R3BRBDDBDBLL3" 460 C$(81)="BUU4BUBRR2BRBDD3BD2LBULBULBD2R1" 470 C$(82)="U6R2BRBDDBDBLL2RDBRDBRD" 480 C$(83)="R3BRBUUBUBLL2BLBUUBUBRR3" 490 C$(84)="BR2U6L2R4" 500 C$(85)="BU1U5BR4D5BD1BL1L2" 510 C$(86)="BR2ULULUU3BR4D3DLDL" 520 C$(87)="U6D5RBRBUUDBDBRRDU6" 530 C$(88)="UURURURURUBL4DRDRDRDRDD" 540 C$(89)="BR2U3ULULUBR4DLDLD" 550 C$(90)="R4L4URURURURUUL4" 560 REM PUNCTUATION 570 C$(33)="BR2UBU2U3" 580 C$(34)="BRBU3U3BR2D3" 590 C$(35)="BRU2LBU2RU2R2D2RBD2LD2" 600 C$(36)="BUR3BUUBLL2BUUBRR3L2UD6" 610 C$(37)="UURURURURUBL4LBD6BR4R" 620 C$(38)="BR2R2U2LULULUUR2DBD2BL2D2" 630 C$(39)="BR2BU3U3" 640 C$(40)="BR4LULUU2URUR" 650 C$(41)="BRRURUU2ULUL" 660 C$(42)="BR2BUU4D2L2R4" 670 C$(43)="BR2BUU4D2L2R4" 680 C$(44)="BR2RBURBUL2UR2" 690 C$(45)="BU3R4" 700 C$(46)="BR2U" 710 C$(47)="UURURURURU" 720 C$(58)="BR2UBU2U" 730 C$(59)="URUBU2U" 740 C$(61)="BU2R4BU2L4" 750 C$(63)="UBUUR2BR2BUUBUBL2L2" 760 C$(1)="R4" 780 C$(48)="U6R4D6L4" 790 C$(49)="BR2U6DL2" 800 C$(50)="R4L4U3R2BR2BUUBUBL2L3" 810 C$(51)="R2BR2BUUBUL2R2BUUBUBL2L2" 820 C$(52)="BU2U4D4R4LD2U4" 830 C$(53)="R2BR2BUUBUBL2L2U3R4" 840 C$(54)="BUU4BUBR2R2BD3L4R4D3L4" 850 C$(55)="UURURURURUL4" 860 C$(56)="U3R4L4U3R4D6L4" 870 C$(57)="R2BR2BUU5L4D3R4" 880 E$="BU4R4L2UDR2D2R8L8DR6U3L2R6" 885 K$="BU4R2UD2UR8DL4R2D2L2R6" 890 P$="BR7UR2BUBR2U2BUBL2UBL2LBLBDD4UL2U3" 895 B$="BUBR2U4RD4U2R9U2RD4LU2L4U3D6" 900 T$="BR5BU2R3UL3UR3" 905 XP$="BUUBU2UBRBDDBRRBDRBRUBUUBURRBDDBDDRBUUBUU" 990 GO SUB 3600 1000 NK=30+ RND (15):J=NK:KN=NK 1020 FOR I=1 TO 64:B=0:K=0:XT=0 1030 S= RND (7): IF RND (10)=10 THEN B=1:NB=NB+1 1040 IF RND (7)<7 THEN 1060 1050 IF J>0 THEN K= RND (8): IF K>J THEN K=J 1060 J=J-K: Q$(I)= RIGHT$ ( STR$ (K),1)+ RIGHT$ ( STR$ (B),1)+ RIGHT$ ( STR$ (S),1)+ RIGHT$ ( STR$ (XT),1) 1070 NEXT 1075 IF J=0 THEN 1140 : ELSE J1= RND (8):I= RND (64): IF LEFT$ (Q$(I),1)>"0" THEN 1075 1080 IF J1>J THEN J1=J 1090 Q$(I)= RIGHT$ ( STR$ (J1),1)+ RIGHT$ (Q$(I),3):J=J-J1: GO TO 1075 1140 GO SUB 3620 1150 FOR I=1 TO 9: READ CM$(I): NEXT 1155 Y=127: FOR I=1 TO 9:X=1:S$= RIGHT$ ( STR$ (I),1)+". "+CM$(I): GO SUB 240:Y=Y+8: NEXT 1200 QX= RND (8):QY= RND (8):QD=(8*(QY-1))+QX 1210 Y=15: FOR I=1 TO 8:X=1:S$= RIGHT$ ( STR$ (I),1): GO SUB 240:Y=Y+8: NEXT 1220 X=1:Y=79: FOR I=1 TO 8:S$= STR$ (I): GO SUB 240: NEXT 1240 EP= RND (64): GO SUB 1250: GO TO 1320 1250 LINE (1,7)-(104,0), PRESET ,BF 1255 X=1:Y=7:S$="QUADRANT"+ STR$ (QX)+":"+ STR$ (QY): GO SUB 240 1257 FOR J=1 TO 9:S(J)=0:K(J)=0: NEXT :BP=0:XP=0 1260 COLOR 8,5: LINE (7,8)-(137,72), PSET ,B 1265 COLOR 5,5: LINE (9,9)-(135,71), PSET ,BF 1270 COLOR 6,5 1275 Q$=Q$(QD):K= VAL ( LEFT$ (Q$,1)):B= VAL ( MID$ (Q$,2,1)):S= VAL ( MID$ (Q$,3,1)):XT= VAL ( RIGHT$ (Q$,1)) 1277 Z=EP: GO SUB 5:A$=E$: GO SUB 30 1280 IF S=0 THEN 1290 : ELSE A$=P$: FOR I=1 TO S 1285 S(I)= RND (64):Z=S(I): GO SUB 5: IF P<>5 THEN 1285 : ELSE GO SUB 30: NEXT 1290 IF B=0 THEN BP=0: GO TO 1300 1295 BP= RND (64):Z=BP: GO SUB 5: IF P<>5 THEN 1295 : ELSE A$=B$: GO SUB 30 1300 AL=1: IF K=0 THEN 1310 : ELSE AL=2:A$=K$: FOR I=1 TO K 1305 K(I)= RND (64):Z=K(I): GO SUB 5: IF P<>5 THEN 1305 : ELSE GO SUB 30:EK(I)=400+ RND (200):KT(I)=1+ RND (4): NEXT 1310 RETURN 1320 X=145:Y=15: COLOR 5,5: LINE (145,7)-(254,79), PSET ,BF 1330 COLOR 6,5 1335 S$=SD$: GO SUB 240: GO SUB 1340: GO SUB 1345: GO SUB 1350: GO SUB 1355: GO SUB 1365: GO SUB 1370: GO SUB 1375: GO TO 1400 1340 X=145:Y=23: GO SUB 75:R1$= RIGHT$ ( STR$ ( INT (YR)),2):L=2: GO SUB 40:S$="YEARS "+R1$: GO SUB 240: RETURN 1345 X=145:Y=31: GO SUB 75:R1$= RIGHT$ ( STR$ (SH),4):L=4: GO SUB 40:S$="SHIELDS "+R1$: GO SUB 240: RETURN 1350 X=145:Y=39: GO SUB 75:R1$= RIGHT$ ( STR$ (E),4):L=4: GO SUB 40:S$="ENERGY "+R1$: GO SUB 240: RETURN 1355 X=145:Y=47: GO SUB 75: IF K=0 AND XT=0 AND E+SH>300 THEN S$="GREEN" : ELSE S$=" RED": COLOR 8,5 1360 S$="ALERT "+S$: GO SUB 240: COLOR 6,5: RETURN 1365 X=145:Y=55: GO SUB 75:R1$= RIGHT$ ( STR$ (T),2):L=2: GO SUB 40:S$="TORPS "+R1$: GO SUB 240: RETURN 1370 X=145:Y=63: GO SUB 75:R1$= RIGHT$ ( STR$ (NB),2):L=2: GO SUB 40:S$="BASES "+R1$: GO SUB 240: RETURN 1375 X=145:Y=71: GO SUB 75:R1$= RIGHT$ ( STR$ (NK),3):L=3: GO SUB 40:S$="KLINGONS "+R1$: GO SUB 240: RETURN 1380 YR=YR-.025: GO SUB 1340: IF YR<=0 THEN Q=3: GO TO 3750 1383 IF RND (20)=20 THEN GO SUB 3560 1385 Q=DL: IF DL>0 THEN DL=DL-(10+ RND (20)):E=E-15: IF DL<0 THEN DL=0 1386 S$="": IF Q>100 AND DL<100 THEN S$=CM$(4) : ELSE IF Q>200 AND DL<200 THEN S$="LR SCAN" 1387 IF Q>300 AND DL<300 THEN S$=CM$(5) : ELSE IF Q>400 AND DL<400 THEN S$=CM$(6) 1388 IF Q>500 AND DL<500 THEN S$=CM$(1) : ELSE IF Q>600 AND DL<600 THEN S$=CM$(3) 1389 IF S$="" THEN 1390 : ELSE FOR J=1 TO 15: SOUND J,1: NEXT :S$=S$+" REPAIRED":X=1:Y=95: GO SUB 50: GO SUB 240 1390 GO SUB 1350: IF E<1 THEN Q=1: GO TO 3750 1393 IF NK=0 THEN Q=4: GO TO 3750 1395 RETURN 1400 GO SUB 1380 1405 X=1:Y=111:S$="COMMAND? ": GO SUB 240: SOUND 100,1: SOUND 100,1 1410 GO SUB 100: IF R1<1 OR R1>9 THEN 1400 1415 GO SUB 50:X=1:Y=95:S$=CM$(R1): GO SUB 240 1420 ON R1 GO TO 1450,1800,2000,3100,3250,3400,3450,3280,3500 1449 REM HELM 1450 IF DL>500 THEN 80 : ELSE IF DH=1 OR DL>200 THEN 1530 1455 GO SUB 55:DH=1: LINE (211,121)-(211,141), PSET : LINE (201,132)-(223,132), PSET 1460 X=209:Y=119:S$="1": GO SUB 240:X=201:Y=127:S$="8 2": GO SUB 240 1465 X=193:Y=135:S$="7 3": GO SUB 240 1470 X=201:Y=143:S$="6 4": GO SUB 240:X=209:Y=151:S$="5": GO SUB 240 1475 X=121:Y=167:S$="LR SCAN:": GO SUB 240 1477 Q$(QD)= RIGHT$ ( STR$ (K),1)+ RIGHT$ ( STR$ (B),1)+ RIGHT$ ( STR$ (S),1)+ RIGHT$ ( STR$ (XT),1) 1479 REM LR SCAN 1480 Y=167:I=-8 1483 S$=":": FOR J=-1 TO 1 1485 X1=QD+J+I: IF X1<1 THEN X1=X1+64 1490 IF X1>64 THEN X1=X1-64 1495 S$=S$+ LEFT$ (Q$(X1),3)+":" 1500 NEXT J:X=145:Y=Y+8: GO SUB 240 1505 I=I+8: IF I<=8 THEN 1483 1510 COLOR 8,5: LINE (183,183)-(207,176), PSET ,BF: COLOR 5,8 1515 X=185:Y=183:S$= LEFT$ (Q$(QD),3): GO SUB 240 1520 COLOR 6,5 1530 X=1:Y=111:S$="WARP FACTOR (0-64)? ": GO SUB 240: GO SUB 100 1535 IF R1<1 OR R1>64 THEN GO SUB 50: GO TO 1400 1540 W=R1: IF W*3>E THEN 60 1545 GO SUB 50:X=1:Y=95:S$="HEADING (1-8)? ": GO SUB 240: SOUND 150,1: GO SUB 100 1550 IF R1<1 OR R1>8 THEN GO SUB 50: GO TO 1400 1555 AA=0 1560 A$=E$:Z=EP: GO SUB 5:O1=(X+7)/16:AS=0 1570 FOR I1=1 TO W: FOR J=1 TO 500: NEXT : COLOR 5,5: LINE (X,Y)-(X+13,Y-6), PSET ,BF: COLOR 6,5 1575 Z=EP: GO SUB 5:X1=(X+7)/16:Y1=(Y-7)/8:O2=EP 1580 X1=X1+DX(R1):Y1=Y1+DY(R1):A=0 1583 IF X1<1 THEN X1=8:A=1 1585 IF X1>8 THEN X1=1:A=1 1587 IF Y1<1 THEN Y1=8:A=1 1590 IF Y1>8 THEN Y1=1:A=1 1595 EP=((Y1-1)*8)+X1: IF A=1 THEN GO SUB 1630: GO TO 1615 1605 Z=EP: GO SUB 5: IF P<>5 THEN 1700 1610 GO SUB 30:EP=Z 1615 E=E-3: NEXT : GO SUB 50 1620 IF AS=1 AND AL=2 THEN X=1:Y=95:S$="ALL HANDS TO BATTLE STATIONS": FOR J=1 TO 3: GO SUB 70: FOR J1=1 TO 200: NEXT : NEXT : GO SUB 50: GO SUB 240: GO SUB 1355 1622 IF AS=1 THEN GO SUB 1355 1625 IF AA>0 THEN RETURN : ELSE GO TO 1400 1630 AS=1: GO SUB 55:Q$(QD)= RIGHT$ ( STR$ (K),1)+ RIGHT$ ( STR$ (B),1)+ RIGHT$ ( STR$ (S),1)+ RIGHT$ ( STR$ (XT),1) 1640 IF O2>1 AND O2<8 THEN QD=QD-8: GO TO 1685 1645 IF O2>57 AND O2<64 THEN QD=QD+8: GO TO 1685 1650 IF O2>8 AND O2<57 AND O18 AND O2<57 AND O1>X1 THEN QD=QD+1: GO TO 1685 1657 IF ABS (O2+EP)<>65 THEN 1678 1660 IF EP=1 THEN QD=QD+9 1665 IF EP=8 THEN QD=QD+7 1670 IF EP=64 THEN QD=QD-9 1675 IF EP=57 THEN QD=QD-7 1677 GO TO 1685 1678 IF R1=1 OR EP=63 OR EP=58 THEN QD=QD-8 : ELSE IF R1=5 OR EP=2 OR EP=7 THEN QD=QD+8 1680 IF R1=3 OR EP=49 OR EP=9 THEN QD=QD+1 : ELSE IF R1=7 OR EP=56 OR EP=16 THEN QD=QD-1 1685 IF QD<1 THEN QD=QD+64 : ELSE IF QD>64 THEN QD=QD-64 1687 QY= INT (QD/8)+1:QX=QD-(8*(QY-1)): IF QX=0 THEN QX=8:QY=QY-1 1690 GO SUB 1250:A$=E$:Z=EP: GO SUB 5 1695 RETURN 1700 IF BP<>EP THEN 1750 1710 X=1:Y=95:S$="ENTERPRISE DOCKED": FOR J=200 TO 215: SOUND J,1: NEXT : GO SUB 50: GO SUB 240 1715 SH=1000:E=3000:T=10:B=0:BP=0:NB=NB-1:DL=0 1720 COLOR 7,5:A$=B$: GO SUB 5: GO SUB 30: COLOR 6,5: GO SUB 1345: GO SUB 1350: GO SUB 1355: GO SUB 1365: GO SUB 1370: GO TO 1620 1750 X1=X1-DX(R1):Y1=Y1-DY(R1):Z=((Y1-1)*8)+X1:EP=Z: GO SUB 5: GO SUB 30:X=1:Y=95:S$="PATH BLOCKED": SOUND 200,3: GO SUB 50: GO SUB 240: GO TO 1620 1800 X=1:Y=111:S$="ALTER SHIELDS(+ OR -)? ": GO SUB 240: GO SUB 100 1805 IF R1=0 THEN GO SUB 50: GO TO 1400 1810 IF R1<1 AND ABS (R1)>SH THEN 60 1815 IF R1>E-10 THEN 60 1820 SH=SH+R1:E=E-R1: GO SUB 50: GO SUB 1345: GO TO 1400 1850 GO SUB 5: FOR J=1 TO 5: COLOR 8,8: LINE (X,Y)-(X+13,Y-6), PSET ,BF 1855 COLOR 5,8: GO SUB 30: PLAY "O1L200C" 1860 GO SUB 65: GO SUB 30: PLAY "O1L200C" 1865 NEXT : RETURN 1870 GO SUB 65 1875 Q$=A$: FOR J=1 TO 10: COLOR 8,8: LINE (X,Y)8: POKE V+32,48: POKE V+64,63: POKE V+96,51: POKE V+128,63: RETURN 1650 POKE V,63: FOR K=V+32 TO V+128 STEP 32: POKE K,3: NEXT : RETURN 1660 POKE V,63: POKE V+32,51: POKE V+64,63: POKE V+96,51: POKE V+128,63: RETURN 1670 POKE V,63: POKE V+32,51: POKE V+64,63: POKE V+96,3: POKE V+128,3: RETURN 1680 RETURN 1690 IF T=10 THEN T=0:H=H+1 1700 IF H=>10 THEN H=H-10:M=M+1 1710 IF M=>10 THEN M=M-10:L=L+1 1720 RETURN 1730 GO SUB 1780:AA=0:ER=0:A2=30:DD=0:HH=0:D=1:Y2=Y2+1: IF Y2>=189 THEN Y2=189 1740 RD=RD+1 1750 LINE (102,Y2)-(128,Y2), PRESET 1760 SS=0 1770 RETURN 1780 Y1=Y1-1: LINE (142,Y1)-(168,Y1), PRESET 1790 IF Y1=122 THEN 2790 1800 IF D=1 THEN RETURN 1810 IF A>=40 THEN 1820 : ELSE 1890 1820 IF B>=155 THEN 1860 1830 IF A>X3 AND B40 AND Y3<155 THEN SS= RND (3):R=1: RETURN 1840 X3=X3-2:Y3=Y3+2 1850 RETURN 1860 IF A>X3 AND B>Y3 AND X3>40 AND Y3>=155 THEN SS= RND (3):R=1: RETURN 1870 X3=X3-2:Y3=Y3-2 1880 RETURN 1890 IF B>=155 THEN 1930 1900 IF AY3 AND X3<40 AND Y3>=155 THEN SS= RND (3):R=1: RETURN 1940 X3=X3+2:Y3=Y3-2 1950 RETURN 1960 RETURN 1970 LINE (102,Y2)-(128,Y2), PSET 1980 RD=RD-1 1990 R=0:Y2=Y2-1: IF Y2=<122 THEN Y2=122:D=0:SS=0:XX=210:RD=2:DD=0 2000 RETURN 2010 IF X3>61 THEN X3=61 2020 IF X3<19 THEN X3=19 2030 IF Y3>176 THEN Y3=176 2040 IF Y3<134 THEN Y3=134 2050 RETURN 2060 JJ=1: DRAW "C6BM90,10ND8F8U8BR5R4D8L4U8BR21D4ND4R4ND4U4NL4BR5ND8F4E4ND8BR5ND8F4E4ND8BR5R4D8L4U8": DRAW "C8" 2061 HH=1:SS=1 2062 RETURN 2070 IF D=0 THEN PUT (110,S2)-(140,S2+20),SB: GO TO 2150 : ELSE PLAY A$+"P16"+A$:R=0 2080 PUT (80,D2)-(90,D2+10),DC: PUT (130,D2)-(140,D2+10),DC 2090 FOR K=0 TO 250: NEXT 2100 PUT (80,D2)-(90,D2+10),DB: PUT (130,D2)-(140,D2+10),DB 2110 D2=D2+5: IF D2=90 THEN 2120 : ELSE 2080 2120 TT= RND (RD): IF TT<3 THEN 2150 2130 D2=20:G=0 2140 RETURN 2150 FOR K=1 TO 10: CLS : SCREEN 0,1: SOUND K,1: SCREEN 1,1: NEXT 2160 SOUND 1,10: FOR K=4 TO 160 STEP 8: CIRCLE (126,94),K: SOUND K,1: NEXT : GO TO 2790 2170 SOUND 1,10: FOR C=5 TO 6: FOR R=2 TO 8: CIRCLE (XX+10,46),R,C: NEXT : NEXT 2180 PUT (XX,38)-(XX+30,48),S, PSET 2190 FOR Q=255 TO 200 STEP -1: SOUND Q,1: NEXT 2200 IF HH=0 THEN RETURN : ELSE 2150 2210 LINE (10,50)-(246,50), PRESET :MM=20: GO SUB 1260 2220 P= PEEK (342): IF P=223 THEN PAINT (100,50),6,8: GO SUB 1730: GO TO 2240 2230 GO TO 2210 2240 X3=40:Y3=180: PSET (X3,Y3,8): SOUND 200,1: PRESET (X3,Y3) 2250 :' 2260 LINE (40,155)-(A,B), PSET 2270 P1= PEEK (344): IF P1=223 THEN GO SUB 2360 2280 P2= PEEK (343): IF P2=223 THEN GO SUB 2380 2290 P3= PEEK (341): IF P3=223 THEN GO SUB 2310 2300 GO TO 2240 2310 GO SUB 1780 2320 IF A=40 AND B>155 THEN 2330: ELSE RETURN 2330 GO SUB 1780:MM=MM-1: IF MM<15 THEN GO TO 2400 2340 IF MM=1 THEN GO TO 2490 2350 RETURN 2360 GO SUB 1290 2370 RETURN 2380 GO SUB 1370 2390 RETURN 2400 MM=MM-1: IF MM=1 THEN 2490 2405 Y4=40:X4= RND (60)+90: GO SUB 1780 2410 PUT (X4,Y4)-(X4+10,Y4+10),MI 2420 FOR K=0 TO 100: NEXT : PUT (X4,Y4)-(X4+10,Y4+10),BM 2430 P8= PEEK (344): IF P8=223 THEN X4=X4-5 2440 P9= PEEK (343): IF P9=223 THEN X4=X4+5 2450 Y4=Y4+1 2460 IF X4<30 OR X4>210 THEN T=T+5: GO SUB 1510: GO TO 2400 2470 IF Y4>QQ THEN GO TO 2150 2480 GO TO 2410 2490 PLAY A$: PCLS : PMODE 1: SCREEN 1,0: PCLS 3: FOR K=0 TO 192: LINE (0,K)-(254,K), PRESET : NEXT 2500 LINE (116,160)-(116,20), PSET : LINE (118,160)-(118,20), PSET : LINE (114,20)-(120,20), PSET 2510 PUT (120,136)-(144,158),FL 2520 PLAY "T2V31O3L4C": DRAW "C2BM74,170;D8E4F4U8" 2530 PUT (120,136)-(144,158),FB: PUT (120,130)-(144,152),FL: PLAY "C": DRAW "BR5NR8D4NR8D4R8" 2540 PUT (120,130)-(144,152),FB: PUT (120,122)-(144,146),FL: PLAY "D": DRAW "BR5NR8U8" 2550 PUT (120,122)-(144,146),FB: PUT (120,114)-(144,138),FL: PLAY "O-B": DRAW "BR13NR8D8R8" 2560 PUT (120,114)-(144,138),FB: PUT (120,106)-(144,130),FL: PLAY "O+L8CP32DP8": DRAW "BR5R8U8L8ND8" 2570 PUT (120,106)-(144,130),FB: PUT (120,100)-(144,124),FL: PLAY "L4E": DRAW "BR13ND8F4E4ND8" 2580 PUT (120,100)-(144,124),FB: PUT (120,92)-(144,116),FL: PLAY "E": DRAW "BR5NR8D4NR8D4R8" 2590 PUT (120,92)-(144,116),FB: PUT (120,84)-(144,108),FL: PLAY "F": DRAW "BM94,182;D4ND4R8ND4U4" 2600 PUT (120,84)-(144,108),FB: PUT (120,76)-(144,100),FL: PLAY "E": DRAW "BR5R8D8L8U8" 2610 PUT (120,76)-(144,100),FB: PUT (120,68)-(144,92),FL: PLAY "L8DP32CP8": DRAW "BR13ND8F4E4ND8" 2620 PUT (120,68)-(144,92),FB: PUT (120,60)-(144,84),FL: PLAY "L4D": DRAW "BR5NR8D4NR8D4R8" 2630 PUT (120,60)-(144,84),FB: PUT (120,52)-(144,76),FL: PLAY "C" 2640 PUT (120,52)-(144,76),FB: PUT (120,44)-(144,68),FL: PLAY "O-B" 2650 PUT (120,44)-(144,68),FB: PUT (120,36)-(144,60),FL: PLAY "O+C" 2660 PUT (120,36)-(144,60),FB: PUT (120,28)-(144,52),FL: PLAY A$ 2670 PUT (120,28)-(144,52),FB: PUT (120,22)-(144,46),FL: PLAY A$ 2680 FOR Y9=0 TO 154 STEP 22: FOR X9=0 TO 216 STEP 24: PUT (X9,Y9)-(X9+24,Y9+22),FL: SOUND Y9+1,1: NEXT X9: NEXT Y9 2690 FOR K=1 TO 250 STEP 4: SOUND K,1: NEXT 2700 HH=0:AA=0:ER=0:A2=30:XX=210:D=0:QQ=QQ-2:A=40:B=135:Y1=189:Y2=122:RD=2:TS=4254:JJ=0:S2=54:D2=20: PCLS : SCREEN 0,0: PRINT @225,"YOU'RE READY FOR NEXT MISSION": PRINT @268,"CAPTAIN": GO TO 680 2710 PMODE 1,1: PCLS 2720 GET (0,0)-(24,22),FB 2730 FOR K=1 TO 48: READ A,B: POKE A,B: NEXT 2740 GET (0,0)-(24,22),FL 2745 PCLS 2750 RETURN 2760 DATA 1536,218,1537,167,1538,218,1539,167,1568,118,1569,167,1570,218,1571,157,1600,157,1601,167,1602,218,1603,118,1632,167,1633,103,1634,217,1635,218 2770 DATA 1664,85,1665,215,1666,215,1667,85,1696,255,1697,255,1698,255,1699,255,1728,255,1729,255,1730,255,1731,255,1760,85,1761,215,1762,215,1763,85 2780 DATA 1792,167,1793,103,1794,217,1795,218,1824,157,1825,167,1826,218,1827,118,1856,118,1857,167,1858,218,1859,157,1888,218,1889,167,1890,218,1891,167 2790 PAINT (10,188),6 2800 PLAY "T4V31O2L2CP8CP8L6CL2CP32D#L4DDP16CP32CO1P16L4BO2L2C": CLS 2810 PRINT @32,"YOUR MISSION HAS ENDED,CAPTAIN";: PRINT @96,"YOU HAVE LOST YOUR VESSEL & CREW";: PRINT @160,"YOU HAVE SUNK ";: PRINT USING "#";L;M;H;T;: PRINT "00 TONS"; 2811 PS=T+(H*10)+(M*100)+(L*1000) 2820 PRINT : PRINT : INPUT "WHAT IS YOUR NAME";N$: IF LEN (N$)>16 THEN 2800 2821 IF PS>H1 THEN GO SUB 4000 2822 CLS : PRINT @10,"HIGH SCORES": PRINT STRING$ (32,128): FOR K=65 TO 193 STEP 32: PRINT @K, CHR$ (128): PRINT @K+9, CHR$ (128): NEXT K: PRINT @224, STRING$ (32,128) 2824 PRINT @35,"score";: PRINT @50,"name"; 2833 PRINT @64,"1";: PRINT @96,"2";: PRINT @128,"3";: PRINT @160,"4";: PRINT @192,"5"; 2840 IF PS>H5 THEN GO SUB 3000 2850 PRINT @194," ";: PRINT USING "####";H5;: PRINT "00";: SOUND 10,1: PRINT @204,N5$;: PRINT @162," ";: PRINT USING "####";H4;: PRINT "00";: SOUND 60,1: PRINT @172,N4$; 2851 PRINT @130," ";: PRINT USING "####";H3;: PRINT "00";: SOUND 110,1: PRINT @140,N3$;: PRINT @98," ";: PRINT USING "####";H2;: PRINT "00";: SOUND 160,1: PRINT @108,N2$;: PRINT @66," ";: PRINT USING "####";H1;: PRINT "00";: SOUND 210,1: PRINT @76,N1$; 2880 FOR K=288 TO 415: PRINT @K,"!";: NEXT 2890 PS=0: PRINT @448,"TRY AGAIN(Y/N)"; 2896 IN$= INKEY$ : IF IN$="" THEN 2896: ELSE 2900 2900 IF IN$="Y" THEN 450 : ELSE IF IN$="N" THEN CLS : END : ELSE 2896 3000 IF PS>H1 THEN H5=H4:H4=H3:H3=H2:H2=H1:H1=PS:N5$=N4$:N4$=N3$:N3$=N2$:N2$=N1$:N1$=N$: RETURN 3010 IF PS>H2 THEN H5=H4:H4=H3:H3=H2:H2=PS:N5$=N4$:N4$=N3$:N3$=N2$:N2$=N$: RETURN 3020 IF PS>H3 THEN H5=H4:H4=H3:H3=PS:N5$=N4$:N4$=N3$:N3$=N$: RETURN 3030 IF PS>H4 THEN H5=H4:H4=PS:N5$=N4$:N4$=N$: RETURN 3040 H5=PS:N5$=N$: RETURN 4000 CLS 4020 PCLS 3: PMODE 1 4030 U1=170:U2=200 4040 DRAW "C2" 4050 DRAW "BM10,10BD10BR4R12U6R6D6R12BD8L30" 4060 CIRCLE (14,24),4,,1,0.25,0.75 4070 CIRCLE (44,24),4,,1,0.75,0.25 4080 PAINT (40,24),2 4090 GET (10,14)-(50,34),SU,G 4100 PCLS 4110 DRAW "BM10,10;BD2BR2R10NR10D4NR20L4D2L2D2L2D4R6D4NL6NR6BU4R4E6" 4120 CIRCLE (44,12),2 4130 PAINT (20,20),2 4140 GET (10,10)-(50,30),HE,G 4150 PCLS : GET (10,10)-(50,30),B1 4160 DRAW "BM10,10BD4BR12L2NG4D6NG4R2NF4U6NF4L2" 4170 GET (10,10)-(30,30),M1 4180 PCLS 4190 DRAW "BM30,46L2NG4D6NG4R2NF4U6NF4L2" 4200 LINE (30,46)-(20,30), PSET : LINE (30,46)-(40,30), PSET : LINE (28,48)-(10,30), PSET : LINE (32,48)-(50,30), PSET 4210 CIRCLE (30,30),20,,1,0.5,1 4220 LINE (10,30)-(50,30), PSET : PAINT (30,20),2 4230 DRAW "C4BM20,16D4R2NU2R2U4BR4NR4D2NR2D2R4BR4U4BR4D4": DRAW "C4BM16,24D4R2E2H2L2BR8R4D4L4U4BR8ND4F4U4BR4NR4D2NR2D2R4" 4240 GET (6,6)-(54,56),M2 4250 PCLS 4260 DRAW "C3" 4270 LINE (0,80)-(256,192), PSET ,BF 4280 SCREEN 1,0 4290 PLAY "T255O2FGFGFG": PUT (100,U1)-(140,U1+20),SU, PSET 4300 U1=U1-2: IF U1>80 THEN 4290 4310 U1=0 4320 PLAY "T255O1CECECE": PUT (U2,0)-(U2+40,20),HE, PSET 4330 U2=U2-2: IF U2>10 THEN 4320 4340 PUT (U2,0)-(U2+40,20),B1 4350 PUT (U2,U1)-(U2+20,U1+20),M1 4360 FOR K=0 TO 50: NEXT K 4370 U2=U2+2:U1=U1+2: IF U1<20 THEN 4350 4380 U1=0 4390 PUT (U2,U1)-(U2+48,U1+50),M2 4400 FOR K=0 TO 50: NEXT K 4410 U2=U2+2:U1=U1+1: IF U1<30 THEN 4390 4420 PLAY "V31O3T2L6CO-L8AL5FAO+CL3FP16L6AL10GL5FO-ABO+L3CP16L10CCL4AL8GL6FL4EP16L10DEL4FL6FCO-AF" 4430 RETURN 5000 DRAW "C6": FOR Y=50 TO 100 STEP 4: LINE (124,Y)-(128,Y), PRESET : PLAY "T55L8O1CECECE": LINE (124,Y)-(128,Y), PSET : NEXT : DRAW "C8" 5010 GO TO 2150 REM REM line numbering breaks here! REM FROM FROM 106219/A19209C/" 1175 DO$(89)="4332106319/415E/" 1177 DO$(90)="1947126617/407E/" 1179 DO$(91)="5039215106/505408E/" 1181 DO$(92)="1947117517/519B27F/" 1183 DO$(93)="5200/1/" 1185 DO$(94)="5300/F/" 1187 DO$(95)="5532409616/452E/" 1189 DO$(96)="1932409/442E/" 1191 DO$(97)="2332409/441H/" 1193 DO$(98)="5532409516/439E/" 1195 DO$(99)="5532309/440H/" 1197 DO$(100)="4940112308504/418H/" 1199 DO$(101)="5738126518/517B17F/" 1201 DO$(102)="2556114217/448A17E/" 1203 DO$(103)="0100102/433H/" 1205 DO$(104)="1926202/202C/" 1207 DO$(105)="1934212/212C/" 1209 DO$(106)="1934218/218C/" 1211 DO$(107)="1932209/209C/" 1213 DO$(108)="4546123/416B25F/" 1215 DO$(109)="4546/450E/" 1217 DO$(110)="2032409/309451E/" 1219 DO$(111)="5800/G/" 1221 DO$(112)="5900112/453E/" 1223 DO$(113)="5900/454E/" 1225 DO$(114)="6000112/455E/" 1227 DO$(115)="6000/456E/" 1229 DO$(116)="1926203/203C/" 1231 DO$(117)="1948127/B17F/" 1233 DO$(118)="1927204/204C/" 1235 DO$(119)="0200120512/430E/" 1237 DO$(120)="6200/461E/" 1239 DO$(121)="5039215120512/A15457E/" 1241 DO$(122)="6330502207/459E/" 1243 DO$(123)="6330207/447E/" 1245 RETURN 1247 CLS 3: PRINT @32," 'DANGER ISLAND'": PRINT @64," BY R.DUNN." 1249 PRINT @128," (C) SOFTWARE FOR ALL 1982" : PRINT @160," **** ****" 1251 PRINT @320," DO YOU REQUIRE INSTRUCTIONS?",,,,," PRESS 'Y' OR 'N'" 1253 H$= INKEY$ 1255 IF H$="Y" THEN 1263 1257 IF H$="N" THEN 1261 1259 GO TO 1253 1261 CLS : RETURN 1263 CLS : PRINT @64," ***INSTRUCTIONS***" 1265 PRINT : PRINT " TO MOVE ABOUT ON THE ISLAND USE 'NORTH', 'SOUTH', 'EAST' OR 'WEST'. YOU MAY ALSO USE 'IN' OR 'OUT', 'UP' OR 'DOWN'." 1267 PRINT : PRINT " PRESS ANY KEY TO CONTINUE." 1269 IF PEEK (337)<>255 THEN 1269 1271 IF PEEK (337)=255 THEN 1271 1273 CLS 1275 PRINT @64," IF YOU SEE:-",,,," ON THE GROUND, THERE IS:-",,," FOLLOWED BY AN OBJECT, THEN YOU MAY TRY TO OBTAIN THE"," OBJECT BY USING THE COMMAND 'GET' OR 'TAKE' AND THE ITEMS NAME.",,,," EXAMPLE:- 'GET LAMP'" 1277 PRINT : PRINT " PRESS ANY KEY TO CONTINUE." 1279 IF PEEK (337)<>255 THEN 1279 1281 IF PEEK (337)=255 THEN 1281 1283 CLS : PRINT : PRINT " IF YOU WISH TO LEAVE AN ITEM USE THE COMMAND 'DROP',"," FOLLOWED BY THE ITEM.",,," TO SEE AN INVENTORY OF THE "," ITEMS YOU ARE CARRYING USE 'LIST'",,,," IF YOU WISH TO SEE WHERE YOU ARE USE 'LOOK'" 1285 PRINT : PRINT " IF YOU'VE HAD ENOUGH USE 'QUIT'" 1287 PRINT : PRINT " PRESS ANY KEY TO CONTINUE." 1289 IF PEEK (337)<>255 THEN 1289 1291 IF PEEK (337)=255 THEN 1291 1293 CLS : PRINT : PRINT 1295 PRINT " THE REM REM ************************************************* REM * Dragon file header detected: * REM * Start: $2401 Length: $3ea1 Exec: $8b8d * REM *(Start: 09217 Length: 16033 Exec: 35725) * REM ************************************************* REM 1 PMODE 3: PCLS : SCREEN 1,0: LINE (35,19)-(225,172), PSET ,B: FOR J=1 TO 93: SOUND 100+J,1: LINE (129-J,20)-(129-J,171), PSET : LINE (129+J,20)-(129+J,171), PSET : NEXT J 2 CIRCLE (125,96),60,2: PAINT (128,39),2,2: SOUND 100,1: CIRCLE (95,90),10,3,1,0.75,0.25: SOUND 110,1: CIRCLE (95,110),10,3,1,0.75,0.25: SOUND 120,1: CIRCLE (93,90),6,3: SOUND 130,1: CIRCLE (93,110),6,3: SOUND 140,1 3 DRAW "C3BM95,80L15D40R15": SOUND 150,1: CIRCLE (120,100),10,1: SOUND 160,1: CIRCLE (120,100),5,1: SOUND 170,1: DRAW "C1BM123,92E5F3G6BD5F6G3H6": SOUND 180,1: DRAW "C3BM143,80D40R10U15R10D15R10U40L10D15L10U15L10": SOUND 190,1 4 PAINT (95,83),3,3: PAINT (120,93),1,1: PAINT (145,82),3,3: COLOR 4,1: FOR J=36 TO 129: LINE (J,20)-(J,171), PRESET : LINE (258-J,20)-(258-J,171), PRESET : NEXT J 5 CLEAR 500:H5=10:H4=30:H3=50:H2=100:H1=200:N1$="B&H SOFTWARE":N2$=N1$:N3$=N1$:N4$=N1$:N5$=N1$ 10 CLS 0: FOR K=1 TO 92: READ A,B: POKE A,B: NEXT 20 DATA 1064,135,1065,143,1066,143,1067,139,1070,143,1073,143,1076,143,1077,143,1078,143,1079,139 21 DATA 1096,143,1102,143,1105,143,1108,143,1111,142,1128,141,1129,143,1130,143,1131,139,1134,143,1137,143,1140,143,1141,143,1142,143,1143,138 22 DATA 1163,143,1166,143,1169,143,1172,143,1175,139,1192,141,1193,143,1194,143,1195,142,1198,141,1199,143,1200,143,1201,142,1204,143,1205,143,1206,143,1207,142 23 DATA 1285,143,1288,143,1291,143,1294,143,1297,143,1298,138,1300,143,1303,143,1304,143,1305,143,1306,143 24 DATA 1317,143,1320,143,1323,143,1326,143,1329,143,1330,133,1332,143,1336,133,1337,138 25 DATA 1349,143,1350,143,1351,143,1352,143,1355,143,1358,143,1361,143,1363,138,1364,143,1368,133,1369,138 26 DATA 1381,143,1384,143,1387,143,1390,143,1393,143,1395,133,1396,143,1400,133,1401,138 27 DATA 1413,143,1416,143,1419,141,1420,143,1421,143,1422,142,1425,143,1428,143,1432,133,1433,138 30 PRINT @456,"b";: PRINT @458,"and";: PRINT @462,"h";: PRINT @464,"software"; 40 PLAY "V31T2O2L8CP8DP8EP8F#P8L2FL8EDCO-B" 50 CLS : PRINT @6,"SUBMARINE CONTROLS": PRINT STRING$ (32,131);: PRINT @64,"^^^^^^^^^ ARROW KEYS ^^^^^^^^^^^"; 51 PRINT "UP -MOVES SUB FORWARD": PRINT "DOWN -PRESS TO DIVE": PRINT "LEFT -MOVES SUB LEFT": PRINT "RIGHT-MOVES SUB RIGHT" 52 PRINT : PRINT @256,"######## OTHER CONTROLS ########"; 53 PRINT "S -PRESS TO SURFACE": PRINT "@ -PRESS TO FIRE TORPEDO": PRINT "ENTER-PRESS TO RETURN TO BASE" 54 PRINT : PRINT "ALL KEYS ARE AUTO REPEAT": PRINT : SOUND 100,2: PRINT "PRESS ENTER********************"; 60 IF INKEY$ ="" THEN 60 70 CLS : PRINT @10,"BRIEFING": PRINT STRING$ (32,131); 71 PRINT "1.A DOT WILL FLASH ON YOUR RADAR YOU MUST LINE UP THE DOT AND THEN MOVE TOWARDS IT USING THE ARROW KEYS" 72 PRINT : PRINT "2.WHEN THE DOT IS WITHIN RANGE A WARNING WILL SOUND AND SHIPS WILL CROSS THE HORIZON" 73 PRINT : PRINT "3.YOU MUST SINK THE SHIPS USING TORPEDOES.A HIT IN THE CENTRE OF THE SHIP SCORES MAXIMUM POINTS" 75 SOUND 100,2: PRINT @480,"PRESS ENTER********************"; 76 IF INKEY$ ="" THEN 76 80 CLS : PRINT @10,"BRIEFING": PRINT STRING$ (32,131); 81 PRINT "4.IF YOU MISS A SHIP IT IS WISE TO DIVE AND WAIT": PRINT : PRINT "5.THE DEEPER YOU ARE THE SAFER YOU ARE FROM DEPTH CHARGES.BUT MORE FUEL IS USED" 82 PRINT : PRINT "6.WATCH YOUR FUEL LEVEL !!!": PRINT : PRINT "7.RANDOM AEROPLANES WILL ATTACK. YOU MAY DIVE TO AVOID THEM OR USE YOUR TORPEDOES TO HIT THEM AS THEY TOUCH THE HORIZON" 83 SOUND 100,2: PRINT @480,"PRESS ENTER********************"; 84 IF INKEY$ ="" THEN :QL= RND (12): GO TO 84 90 CLS : PRINT @10,"BRIEFING": PRINT STRING$ (32,131);: PRINT : PRINT "8.TO REFUEL OR TO TAKE ON MORE AMMUNITION YOU MUST RETURN TO BASE.BUT BEWARE OF MINES!! YOU MUST MOVE LEFT OR RIGHT TO AVOID THEM" 400 DIM S(0,15),BL(0,15),S1(0,30),SB(0,30),DC(0,15),DB(0,15),BM(0,15),MI(0,15),FL(0,30),FB(0,30),HE(0,50),SU(0,50),B1(0,50),M2(0,50),M1(0,30),AE(0,15) 410 GO SUB 2710 420 SOUND 100,2: PRINT @480,"PRESS ENTER********************"; 425 IF INKEY$ ="" THEN 425 450 CLS : PRINT @226,"YOUR SHIP IS BEING PREPARED": PRINT @264,"GOOD HUNTING!!!!" 500 AA=0:A2=30:ER=0:QQ=60:HH=0:JJ=0:XX=210:S2=54:D2=20:D=0:SS=0:G=0:T=0:H=0:M=0:L=0 520 Y1=189:Y2=122 530 A$="T55V31L6O1CDEFGABO+CDEFGABO+CDEFGAB" 540 RD=2 560 HT=3607:HP=3609:TP=3610:TH=3608 570 TS=4254 590 A=40:B=135: PMODE 1,1: PCLS 600 GET (10,10)-(30,20),BL,G 601 DRAW "C6;BM10,16;R4ND2R4BR4R4ND2R4" 602 CIRCLE (20,16),4: PAINT (20,16),6 603 GET (10,10)-(30,20),AE 604 PCLS 610 DRAW "C6BM10,10;BD8F2R15E1U1L6U1L4U2L4NU2D3L2" 620 PAINT (20,18),6: GET (10,10)-(40,20),S,G: DRAW "C8" 630 PCLS 6: DRAW "C8BM10,10BD10BR4F10R4E10L6U4L4U4L4D4L4D4L6": PAINT (24,26),5,8: DRAW "C6R12ND10R12" 640 GET (10,10)-(40,30),S1 650 PCLS 6: GET (10,10)-(40,30),SB: GET (10,10)-(20,20),DB 660 LINE (12,12)-(18,18), PSET ,B: PAINT (16,16),5,8: LINE (13,12)-(13,18), PSET : LINE (18,12)-(18,18), PSET : GET (10,10)-(20,20),DC 670 DRAW "C5": PCLS 6: GET (10,10)-(20,20),BM: LINE (12,12)-(18,18), PSET ,B: PAINT (16,16),5: LINE (10,10)-(20,20), PSET : LINE (20,10)-(10,20), PSET : GET (10,10)-(20,20),MI 671 DRAW "C6": PCLS : LINE (0,100)-(256,192), PSET ,B: PAINT (100,160),6,6: PUT (60,50)-(90,60),S, PSET : PUT (150,50)-(170,60),AE: PUT (30,110)-(40,120),MI: PUT (210,110)-(220,120),DC: PUT (110,100)-(140,120),S1 672 DRAW "BM70,10ND8BR4R2F2D4G2L2U8BR8NR4D4NR4D4R4BR4U8F8U8BR4R2ND8R2BR4ND8BR4NR4D4NR4D4BR8U8BR4NR4D8R4BR4U4NR4U4R4ND8BR4R2ND8R2BR4ND8BR4R4D8L4U8BR8ND8F8U8" 673 DRAW "BM60,70NR4D4R4D4NL4BR4U4NU4R4ND4U4BR4ND8BR4D4ND4R4U4L4": DRAW "BM140,70R4D4L4ND4U4BR8D8R4BR4U4NR4U4R4ND8BR4ND8F8U8BR4NR4D4NR4D4R4" 674 DRAW "C5BM14,130ND8F4E4ND8BR4ND8BR4ND8F8U8BR4NR4D4NR4D4R4": DRAW "BM110,130NR4D4R4D4NL4BR4U4NU4R4ND4U4BR4ND8BR4R4D4L4ND4U4": DRAW "BM200,130R2F2D4G2L2U8BR8NR4D4NR4D4R4BR4U4R4U4L4ND4BR8R2ND8R2BR4D4ND4R4ND4U4" 675 DRAW "BM90,150R4D4L4NF4ND4U4BR8D4ND4R4ND4U4L4BR8ND8F4E4ND8BR4ND8F4E4ND8BR4ND8BR4ND8F8U8BR4NR4D8R4U4L2": DRAW "BM200,150NR4D8R4BR4U4NU4R4ND4U4BR4D4ND4R4ND4U4L4BR8R4D4L4NF4ND4U4BR8NR4D8R4U4NL2BD4BR4NR4U4NR4U4R4" 676 DRAW "BM80,180R4D4L4ND4U4BR8R4D4L4NF4ND4U4BR8NR4D4NR4D4R4BR4R4U4L4U4R4BR4NR4D4R4D4NL4BR16NR4U4NR4U4R4BR4ND8F8U8BR4R2ND8R2BR4NR4D4NR4D4R4BR4U4NF4R4U4L4D4" 677 SCREEN 1,1 678 IF INKEY$ ="" THEN 678 679 SCREEN 0,0 680 PCLS : DRAW "C8" 690 CIRCLE (40,155),35 700 DRAW "BM36,110;ND8F8U8" 705 DRAW "BM50,116;R10NH4NG4": DRAW "BM30,116;L10NE4NF4" 710 LINE (140,120)-(170,190), PSET ,BF 720 DRAW "BM142,110;NR4D4NR4D4BR8NU8R4U8BR5NR4D4NR4D4R4BR3NU8R4" 730 LINE (100,120)-(130,190), PSET ,BF 740 DRAW "BM96,110;D8R2E2U4H2L2BR8NR4D4NR4D4R4BR5U4R4U4L4ND4BR7R2ND8R2BR5D4ND4R4NU4D4" 750 DRAW "BM190,110;NR4D4R4D4NL4BR5NR4U8R4BR3D8R4U8NL4BR5D4ND4NF4R4U4NL4BR3NR4D4NR4D4R4" 760 DRAW "BM176,150;R2ND8R2BR5D8R4U8NL4BR3D4ND4NF4R4U4NL4BR5D4ND4R4U4NL4BR3NR4D4NR4D4R4BR5R2E2U4H2L2ND8BR7D8R4U8NL4BR5NR4D4NR4D4R4BR3R4U4L4U4R4" 770 LINE (180,122)-(238,144), PSET ,B: LINE (174,162)-(248,184), PSET ,B 780 GO SUB 1510 790 POKE 3612,63: POKE 3644,51: POKE 3676,51: POKE 3708,51: POKE 3740,63: POKE 3611,63: POKE 3643,51: POKE 3675,51: POKE 3707,51: POKE 3739,63 800 FOR K=4246 TO 4254: POKE K,60: POKE K+32,60: POKE K+64,60: POKE K+96,60: NEXT 810 DRAW "BM86,120R4D8L4U8": DRAW "BM80,150NR4D4R4D4L4BR9U8R4D8L4": DRAW "BM76,180D8BR5NR4U8R4ND8BR4D8R4U8L4" 820 PSET (96,124,6): PSET (96,154,6): PSET (96,184,6) 830 PSET (136,124,6): PSET (136,154,6): PSET (136,184,6) 840 IF D=0 THEN X3= RND (40)+20:Y3= RND (40)+135:R=0 850 CIRCLE (128,50),120,8,0.45 860 IF D=0 THEN LINE (10,50)-(246,50), PSET : ELSE DRAW "C6": LINE (10,50)-(246,50), PSET : DRAW "C8" 870 PAINT (100,60),6,8 880 IF D=1 THEN PAINT (100,48),6,8 : ELSE PAINT (100,18),5,8 890 CLS : SCREEN 1,1 900 LINE (40,155)-(A,B), PSET 910 GO SUB 1450 920 IF G>0 AND D=0 THEN GO SUB 1140 930 IF XX<=110 THEN GO SUB 1130 950 IF HH>0 AND XX<190 AND D=0 THEN PLAY A$: GO SUB 2170 960 GO SUB 2010 970 IF SS=0 AND D=0 AND G=0 THEN PSET (X3,Y3,6): SOUND 200,1: PRESET (X3,Y3) 980 IF G>0 THEN G=G-1: IF G=<4 THEN GO SUB 2070 990 P= PEEK (337): IF P=251 AND D=0 THEN GO SUB 1070 : ELSE IF P=239 THEN GO SUB 1970 : ELSE IF P=191 AND D=0 AND G=0 AND SS=0 THEN 2210 1000 P1= PEEK (344): IF P1=223 THEN GO SUB 1290 1010 P2= PEEK (343): IF P2=223 THEN GO SUB 1370 1020 P3= PEEK (341): IF P3=223 THEN GO SUB 1780 1030 P4= PEEK (342): IF P4=223 THEN GO SUB 1730 1031 IF SS=0 AND AA<1 AND D=0 THEN AR= RND (40): IF AR=10 THEN AA=1: PLAY A$ 1032 IF AA>0 THEN PUT (119,A2)-(139,A2+10),AE:A2=A2+2: IF A2=>38 THEN A2=38 1033 IF A2=38 THEN ER=ER+1: IF ER=3 THEN GO TO 5000 1040 IF R=1 AND D=0 THEN PLAY A$+"P16"+A$ 1050 GO SUB 1450: IF D=1 THEN PUT (110,S2)-(140,S2+20),SB:S2=54 1060 IF R=1 THEN 840 : ELSE 860 1070 IF JJ>0 THEN GO SUB 2060: RETURN : ELSE LL=1: DRAW "C6": FOR Y=96 TO 50 STEP -4: LINE (124,Y)-(128,Y+2), PRESET ,B: GO SUB 1450: LINE (124,Y)-(128,Y+2), PSET ,B: NEXT : DRAW "C8" 1080 IF PPOINT (126,46)=6 THEN GO SUB 1190 1090 FOR K=TS TO TS+96 STEP 32: POKE K,0: NEXT 1100 TS=TS-1: IF TS=<4245 THEN TS=4245: GO SUB 2060 1110 LL=0 1120 RETURN 1130 PUT (XX,38)-(XX+20,48),BL, AND :SS=0:XX=210:DD=0:G=20: RETURN 1140 IF DD=1 THEN RETURN : ELSE PUT (110,S2)-(140,S2+20),SB 1150 S2=S2+4: IF S2=>84 AND D=0 THEN 2790 1160 G=G-2: IF G=<2 THEN GO SUB 2070 1170 IF D=0 THEN PUT (110,S2)-(140,S2+20),S1: RETURN 1180 RETURN 1190 SOUND 10,10: FOR C=8 TO 5 STEP -1: FOR R=2 TO 20 STEP 2: CIRCLE (126,48),R,C,1,0.5,1: NEXT : NEXT 1200 IF SS>0 THEN SS=SS-1 1210 IF XX+9=128 OR XX+10=128 OR XX+11=128 THEN H=H+2: GO TO 1250 1220 IF XX+7=128 OR XX+8=128 OR XX+12=128 OR XX+13=128 THEN H=H+1:T=T+5: GO TO 1250 1230 IF XX+5=128 OR XX+6=128 OR XX+14=128 OR XX+15=128 THEN H=H+1: GO TO 1250 1240 T=T+5 1250 GO SUB 1510:XX=210:A2=30:AA=0:ER=0: RETURN 1260 DD=1: DRAW "C6BM110,30;D8R4E2U4H2L4BR11ND8BR5D4F4E4U4BR5NR8D4NR8D4NR8" 1270 DRAW "C8" 1280 RETURN 1290 LINE (40,155)-(A,B), PRESET : IF A>=40 THEN B=B+2 : ELSE B=B-2 1300 IF B>=155 THEN A=A-2 : ELSE A=A+2 1310 IF A>60 THEN A=60 1320 IF A<20 THEN A=20 1330 IF B>175 THEN B=175 1340 IF B<135 THEN B=135 1350 IF B>153 AND B<157 AND A-20 <40 AND A-20>30 THEN A=60 1360 RETURN 1370 LINE (40,155)-(A,B), PRESET : IF A<=40 THEN B=B+2 : ELSE B=B-2 1380 IF B<=155 THEN A=A-2 : ELSE A=A+2 1390 IF A>60 THEN A=60 1400 IF A<20 THEN A=20 1410 IF B>175 THEN B=175 1420 IF B<135 THEN B=135 1430 IF B>153 AND B<157 AND A-20 <40 AND A-20 >30 THEN A=60 1440 RETURN 1450 IF LL=1 THEN FOR K=0 TO 200: NEXT 1470 IF SS>0 AND D=0 THEN XX=XX- RND (8) 1480 IF HH>0 THEN GO SUB 1260 1490 IF SS>0 AND D=0 THEN PUT (XX,38)-(XX+30,48),S, PSET 1500 RETURN 1510 GO SUB 1690: IF T=0 THEN POKE TP,63: POKE TP+32,51: POKE TP+64,51: POKE TP+96,51: POKE TP+128,63 : ELSE POKE TP,63: POKE TP+32,48: POKE TP+64,63: POKE TP+96,3: POKE TP+128,63 1520 IF H=0 THEN POKE HP,63: POKE HP+32,51: POKE HP+64,51: POKE HP+96,51: POKE HP+128,63 : ELSE FOR K=HP TO HP+128 STEP 32: POKE K,0: NEXT 1530 IF M=0 THEN POKE TH,63: POKE TH+32,51: POKE TH+64,51: POKE TH+96,51: POKE TH+128,63 : ELSE FOR K=TH TO TH+128 STEP 32: POKE K,0: NEXT 1540 IF L=0 THEN POKE HT,63: POKE HT+32,51: POKE HT+64,51: POKE HT+96,51: POKE HT+128,63 : ELSE FOR K=HT TO HT+128 STEP 32: POKE K,0: NEXT 1550 V=HP: ON H GO SUB 1590,1600,1610,1620,1630,1640,1650,1660,1670 1560 V=TH: ON M GO SUB 1590,1600,1610,1620,1630,1640,1650,1660,1670 1570 V=HT: ON L GO SUB 1590,1600,1610,1620,1630,1640,1650,1660,1670 1580 RETURN 1590 FOR K=V TO V+128 STEP 32: POKE K,12: NEXT : RETURN 1600 POKE V,63: POKE V+32,3: POKE V+64,63: POKE V+96,48: POKE V+128,63: RETURN 1610 POKE V,63: POKE V+32,3: POKE V+64,63: POKE V+96,3: POKE V+128,63: RETURN 1620 POKE V,48: POKE V+32,48: POKE V+64,51: POKE V+96,63: POKE V+128,3: RETURN 1630 POKE V,63: POKE V+32,48: POKE V+64,63: POKE V+96,3: POKE V+128,63: RETURN 1640 POKE V,4H2$: GO SUB 408: FOR B=1 TO 7:XF(B)=XE(B): GO SUB 409: NEXT : RETURN 400 B7$=B3$:H6$=H2$:H7$=H3$: GO TO 411 401 B7$=B4$:H6$=H3$:H7$=H4$: GO TO 411 402 B7$=B5$:H6$=H4$:H7$=H5$: GO TO 411 403 B7$=B6$:H6$=H5$: GO TO 411 404 IF R$(U(N))="1" THEN R1$=R0$ 405 IF R$(U(N))="2" THEN R1$=R0$+"M80,50M60,10" 406 IF R$(U(N))="" THEN R1$="" 407 RETURN 408 DRAW "BM0,20"+B7$+"BM5,110"+H7$+T$+"BM248,178"+H6$+T$: RETURN 409 IF XF(B)<>0 THEN DRAW "BM"+ STR$ ( FIX (XF(B))+5)+","+ STR$ ( FIX (XF(B)/3+102))+TA$ 410 RETURN 411 DRAW B7$: IF U(N)=I THEN 413 412 DRAW "BM"+ STR$ (U(N)*17)+",6"+H7$+T$: GO SUB 404 413 DRAW R1$+"BM"+ STR$ (180-10*U(N))+",178"+H6$+T$:R1$="": RETURN 414 FOR G9=1 TO G8: PLAY "O"+ STR$ ( RND (2))+"L"+ STR$ ( RND (50)+90)+"T4V31ACEGDBADGECD": NEXT : RETURN 415 IZ=I:I=1: GO SUB 49:QZ=3: PRINT @36,"CHOOSE INITIAL "NV$: PRINT @68,"UP TO TOTAL 1800 LB MAX": PRINT @96,"(ENTER 'A' TO ACCEPT NOS SHOWN)" 416 FOR E=1 TO 5:ZQ=354+E*5 417 PRINT @ZQ,"? ":E$="": GO SUB 329: IF E$="A" AND E=1 THEN SOUND 15,1:I=IZ: RETURN 418 IF VAL (E$)>360 OR VAL (E$)<1 THEN IF E$<>"0" THEN 417 419 S(E,0)= VAL (E$):WZ=WZ+ VAL (E$)*SW(E): PRINT @418,"LOAD SO FAR";WZ: IF WZ>9800 THEN 422 420 NEXT 421 GO SUB 286: IF N$= CHR$ (13) THEN I=IZ: SOUND 15,1: RETURN : ELSE 423 422 PRINT @418,"LOAD";WZ;"TOO MUCH": GO SUB 2 423 WZ=0: GO SUB 191: GO SUB 193: GO TO 416 REM REM line numbering breaks here! REM CA-350: RETURN 5040 PRINT @192," BRIAN CLOUGH SAYS YOU'RE RUBBISH - MORALE SOARS": RETURN 5050 IF CA<0 THEN RETURN : ELSE PRINT @192," NATIONAL INSURANCE WANTS $"; INT (CA/10):CA=CA- INT (CA/10): RETURN 5060 PRINT @192," SOUVENIR SHOP MAKES $400 ":CA=CA+400: RETURN 5070 PRINT @192," WRITE OFF FIDDLING BY GATE MEN - $300":CA=CA-300: RETURN 5080 PRINT @192," NEW CRUSH BARRIERS NEEDED - $1500":CA=CA-1500: RETURN 5090 IF CA<0 THEN RETURN : ELSE PRINT @192," GENERAL REPAIRS - $"; INT (CA/10);" ":CA=CA- INT (CA/10): RETURN 5100 PRINT @192," BOB WILSON TIPS YOU FOR ENGLAND JOB": RETURN 5110 PRINT @192," MIDWEEK COUNTY CUP MATCH MAKES $";WK*25:CA=CA+WK*25: RETURN 5120 PRINT @192," U.S. CLUB MAKES H.P. PAYMENT FOR PLAYER-$2500":CA=CA+2500: RETURN 5130 PRINT @192," INSURANCE PAY-OUT FOR INJURED PLAYER-$5000":CA=CA+5000: RETURN 5140 PRINT @192," BOILER REPAIRS - $240 ":CA=CA-240: RETURN 5150 PRINT @192," DISC JOCKEY NEEDS NEW RECORDS - $50":CA=CA-50: RETURN 5160 PRINT @192," STATIONERY BILL - $200 ":CA=CA-200: RETURN 5170 PRINT @192," DRINKS FOR BOARD ROOM - $150 ":CA=CA-150: RETURN 5180 PRINT @192," INSURANCE PREMIUM-$5000 ":CA=CA-5000: RETURN 5190 RETURN 5200 FOR PP=1 TO 20 5210 IF SP$(PP)=" " THEN SP$(PP)=AT$(SS):AT$(SS)=" ": GO TO 4600 5220 NEXT PP 5230 AT$(SS)=" ": GO TO 4600 5240 FOR NN=12 TO 15 5250 IF AT$(NN)=" " THEN AT$(NN)=SS$(N):SS$(N)=" ": GO TO 4500 5260 NEXT NN 5270 IF SS$(N)<>" " THEN 5290 5280 GO TO 4500 5290 FOR NN=1 TO 20 5300 IF SP$(NN)=" " THEN SP$(NN)=SS$(N):SS$(N)=" ": GO TO 4500 5310 NEXT NN 5320 FOR N=1 TO 15 5330 IF AT$(N)=" " THEN AT$(N)=TT$(CZ): GO TO 5190 5340 NEXT N 5350 FOR N=1 TO 20 5360 IF SP$(N)=" " THEN SP$(N)=TT$(CZ): GO TO 5190 5370 NEXT N 5380 GO TO 5190 5390 FOR PP=1 TO 3 5400 IF SS$(PP)=" " THEN SS$(PP)=AT$(SS):AT$(SS)=" ": RETURN 5410 NEXT PP 5420 AP=0:BP=0:CP=0:DP=0:EP=0:WK=0:AG=0:BG=0:CG=0:DG=0:EG=0:AW=0:BW=0:CW=0:DW=0:EW=0:AD=0:BD=0:CD=0:DD=0:ED=0:AL=0:BL=0:CL=0:DL=0:EL=0 5430 PO=PO+1 5440 IF DI=4 THEN B$="WIMBLEDON":C$="ALDERSHOT":D$="BRADFORD":E$="BURY":F$="MANSFIELD" 5450 IF DI=3 THEN B$="CARDIFF":C$="WREXHAM":D$="OXFORD":E$="MILLWALL":F$="PRESTON" 5460 IF DI=2 THEN B$="DERBY":C$="QPR":D$="BOLTON":E$="CARLISLE":F$="GRIMSBY" 5470 IF DI=1 THEN B$="LIVERPOOL":C$="ARSENAL":D$="MAN UTD":E$="FOREST":F$="EVERTON" 5480 IF A$=B$ THEN B$=F$ 5490 IF A$=C$ THEN C$=F$ 5500 IF A$=D$ THEN D$=F$ 5510 IF A$=E$ THEN E$=F$ 5520 SE=SE+1 5530 IF PO=1 THEN 160 : ELSE 960 5540 RESTORE 5550 FOR N=1 TO 7 5560 READ EU$(N): NEXT N 5570 FOR Q=1 TO 7 5580 N= RND (7) 5590 IF EU$(N)=" " THEN 5580 5600 E2$(Q)=EU$(N) 5610 EU$(N)=" " 5620 NEXT Q 5630 CLS : FOR N=1 TO 10: SOUND 190,1: SOUND 200,1: NEXT N: PRINT @97,"EUROPEAN CUP SEMI-FINALS" 5640 FOR N=200 TO 100 STEP -10: SOUND N,1: NEXT : FOR N=100 TO 200 STEP 10: SOUND N,1: NEXT 5650 FOR N=1 TO 2000: NEXT 5660 N= RND (3):M= RND (3):L= RND (3):K= RND (3) 5670 IF N=M THEN N=N+1 5680 IF L=K THEN L=L+1 5690 PRINT : PRINT : PRINT : PRINT " ";A$;N;" ";E2$(1);M 5700 PRINT 5710 PRINT " ";E2$(2);L;" ";E2$(3);K 5720 FOR Q=1 TO 5000: NEXT 5730 CLS 3 5740 SOUND 190,2: SOUND 200,2: PRINT @100,"THE FINAL"; 5750 FOR Q=1 TO 3000: NEXT 5760 A= RND (3):B= RND (3) 5770 IF A=B THEN A=A+1 5780 CLS 5790 PRINT : PRINT : PRINT 5800 IF N>M THEN PRINT " ";A$;: ELSE PRINT E2$(1); 5810 PRINT A; 5820 IF L>K THEN PRINT " ";E2$(2);: ELSE PRINT E2$(3); 5830 PRINT B 5840 FOR Q=1 TO 3000: NEXT : IF N>M AND A>B THEN PRINT @450,"WATCH OUT, CLOUGHIE!": ELSE GO TO 6090 5850 FOR N=1 TO 3000: NEXT : CLS : GO TO 5420 5860 CLS 0 5870 IF DI=5 THEN DI=4: PRINT @100,"RE-ELECTED..THIS TIME!";: FOR QQ=1 TO 3000: NEXT QQ: GO TO 5420 5880 PRINT @100,"RELEGATION!";: FOR QQ=1 TO 3000: NEXT QQ: GO TO 5420 5890 PMODE 4,1: PCLS 5900 LINE (4,180)-(12,8), PSET ,BF 5910 LINE (12,8)-(250,16), PSET ,BF 5920 LINE (250,16)-(242,180), PSET ,BF 5930 SCREEN 1,1 5940 DRAW "BM35,26;L13;D150;R13" 5950 SOUND 1,1 5960 DRAW "BM+10,+0;U150;D75;R13;U75;D150" 5970 SOUND 25,2 5980 DRAW "BM+10,+0;U150;R13;D75;L13;R13;D75" 5990 SOUND 50,3 6000 DRAW "BM+10,+0;U150;R13;D150;U150;R13;D150": SOUND 75,4 6010 DRAW "BM+10,+0;U150;R13;D75;L13": SOUND 100,5 6020 DRAW "BM+23,-75;D150": SOUND 125,6 6030 DRAW "BM+10,+0;U150;R13;D150;L13": SOUND 150,7 6040 DRAW "BM+23,+0;U150;R13;D150": SOUND 175,8 6050 DRAW "BM+13,+0;R13;U75;L13;U75;R13": SOUND 200,9 6060 DRAW "BM+10,-0;D135;BM+0,+5;D10 6070 FOR N=1 TO 3500: NEXT 6080 RETURN 6090 DI=1:CA=CA+100000 6100 CLS : PRINT @97,"OH WELL, THERE'S ALWAYS NEXT SEASON!": FOR N=1 TO 3000: NEXT : GO TO 5420 6110 CLS : PRINT @96,"YOU PRESSED g - WAS IT INTENDED?" 6120 IN$= INKEY$ : IF IN$="" THEN 6120 6130 IF IN$="N" THEN CLS : GO TO 970 6140 IF IN$="Y" THEN END 6150 GO TO 6120 9000 FOR N=1 TO 400: NEXT : CSAVE "CHAMPS!" 9010 IF INKEY$ ="" THEN 9010 9020 MOTOR ON 9030 IF INKEY$ ="" THEN 9030 9040 MOTOR OFF 9050 IF INKEY$ ="" THEN 9050 9060 RUN 9000 REM REM line numbering breaks here! REM NOT  NOT  NOT  192 REM REM line numbering breaks here! REM U@ 0900" 897 R$(12)="00" 899 R$(13)="021200" 901 R$(14)="020600" 903 R$(15)="00" 905 R$(16)="041600" 907 R$(17)="020700" 909 R$(18)="0319040300" 911 R$(19)="0118040400" 913 R$(20)="00" 915 R$(21)="042400" 917 R$(22)="00" 919 R$(23)="00" 921 R$(24)="022100" 923 R$(25)="050200" 925 R$(26)="020700" 927 R$(27)="00" 929 WO=65: DATA 01N,01NORT,02E,02EAST,03S,03SOUT,04W,04WEST,05U,05UP,06D,06DOWN,47IN,48OUT,17KILL,17STAB,19TAKE,19GET,20DROP,55RUB,56QUIC,57LAUN,50SPRA, 931 DATA 21FILL,22EAT,23DRIN,24LIGH,25LADD,26LAMP,27STAT,28PLAN,29TREA,30MATC,30BOOK,31CHEE,32ANTI,33RING,33GOLD,34BOTT,35PARA,35HEAT,36KNIF,37AERO,37CAN,38BOAT,39NATI,40MONS,40GUNG,41OIL,42WATE 933 DATA 43BUY,44COIN,45SAY,46SABU,49FEED,51ROW,52LIST,53LOOK,58QUIT,59YES,60NO,61GIVE,62INST,63STRI 935 REM IF'S 937 CO=28: DIM UF$(CO) 939 UF$(1)="101/B05F/" 941 UF$(2)="122/70310/" 943 UF$(3)="109/70303/" 945 UF$(4)="106605/406E/" 947 UF$(5)="106615505/51570405/" 949 UF$(6)="802614/514404E/" 951 UF$(7)="508/70507/" 953 UF$(8)="508/608E/" 955 UF$(9)="803/422H/" 957 UF$(10)="110810/70121/" 959 UF$(11)="116840613/901E/" 961 UF$(12)="808602616/43851670706/" 963 UF$(13)="116506/606E/" 965 UF$(14)="116860/506E/" 967 UF$(15)="120204/424512E/" 969 UF$(16)="701/409H/" 971 UF$(17)="702/A03201603431E/" 973 UF$(18)="703/402H/" 975 UF$(19)="704/605512615E/" 977 UF$(20)="705/423H/" 979 UF$(21)="706/432H/" 981 UF$(22)="112850604607/403504E/" 983 UF$(23)="707/443H/" 985 UF$(24)="106505/407E/" 987 UF$(25)="114510/446E/" 989 UF$(26)="115510/446E/" 991 UF$(27)="516/449E/" 993 UF$(28)="/E/" 995 REM DO'S 997 AC=123: DIM DO$(AC) 999 DO$(1)="4700118/B21F/" 1001 DO$(2)="4800121/B18F/" 1003 DO$(3)="0100121/502B22F/" 1005 DO$(4)="0300122/602B21F/" 1007 DO$(5)="5138127206/401H/" 1009 DO$(6)="5138127306/460H/" 1011 DO$(7)="0400114510/B15F/" 1013 DO$(8)="0200115510/B14F/" 1015 DO$(9)="0400114610611305/426B15F/" 1017 DO$(10)="0200115610611305/B14F/" 1019 DO$(11)="0400114610511305/411H/" 1021 DO$(12)="0200115610511305/411H/" 1023 DO$(13)="0400114611405/427H/" 1025 DO$(14)="0200115611405/427H/" 1027 DO$(15)="0400114511405/428H/" 1029 DO$(16)="0200115511405/428H/" 1031 DO$(17)="0600108/502B09F/" 1033 DO$(18)="0500109/602B08F/" 1035 DO$(19)="0600109/B12F/" 1037 DO$(20)="0400112604/B13F/" 1039 DO$(21)="0500112604/B09F/" 1041 DO$(22)="0400112504/417E/" 1043 DO$(23)="0500112504/417E/" 1045 DO$(24)="0100116606/B16F/" 1047 DO$(25)="0200116606/B16F/" 1049 DO$(26)="0300116606/B16F/" 1051 DO$(27)="0100116506/B03F/" 1053 DO$(28)="0200116506/B04F/" 1055 DO$(29)="0300116506/B05F/" 1057 DO$(30)="0400107617609/B20F/" 1059 DO$(31)="0400107617509/B26F/" 1061 DO$(32)="0400107517518/B17F/" 1063 DO$(33)="0200120612/B07F/" 1065 DO$(34)="1926201/513201C/" 1067 DO$(35)="2026201/301C/" 1069 DO$(36)="2026202/801412301D/" 1071 DO$(37)="2026203/802801603301412431E/" 1073 DO$(38)="1927106204605/70604B23F/" 1075 DO$(39)="1927106204505/605204C/" 1077 DO$(40)="6127120204/509A04445B26F/" 1079 DO$(41)="2027204/304C/" 1081 DO$(42)="1928205/205610C/" 1083 DO$(43)="2856114205/A05510425E/" 1085 DO$(44)="2028205/305C/" 1087 DO$(45)="1929206/206511C/" 1089 DO$(46)="2029206/306611C/" 1091 DO$(47)="1930207/207C/" 1093 DO$(48)="2030207/307C/" 1095 DO$(49)="1931208/208C/" 1097 DO$(50)="2031208/308C/" 1099 DO$(51)="1933210/210C/" 1101 DO$(52)="2033210/310C/" 1103 DO$(53)="1934211/211C/" 1105 DO$(54)="2034211/311C/" 1107 DO$(55)="2034212/811311412E/" 1109 DO$(56)="2034218/A18911434E/" 1111 DO$(57)="1935119/421E/" 1113 DO$(58)="1936214/214C/" 1115 DO$(59)="2036214/314C/" 1117 DO$(60)="1937215/215444E/" 1119 DO$(61)="2037215/315C/" 1121 DO$(62)="1925217/217C/" 1123 DO$(63)="2506105217/A17435E/" 1125 DO$(64)="2025217/317C/" 1127 DO$(65)="1944219/219C/" 1129 DO$(66)="2044219/319C/" 1131 DO$(67)="0600105/410H/" 1133 DO$(68)="1938120609/429E/" 1135 DO$(69)="1938126509/A16518C/" 1137 DO$(70)="2426202207/80250370210458F/" 1139 DO$(71)="2426203/414E/" 1141 DO$(72)="2426201207/413E/" 1143 DO$(73)="2426202307/405E/" 1145 DO$(74)="2426201307/413405E/" 1147 DO$(75)="2126119401/801C/" 1149 DO$(76)="2126202/436E/" 1151 DO$(77)="2126201212/A12211A01202C/" 1153 DO$(78)="2126202212/436E/" 1155 DO$(79)="2134122211/A11218C/" 1157 DO$(80)="2134119211/811C/" 1159 DO$(81)="2231208/A08C/" 1161 DO$(82)="2342122318/508C/" 1163 DO$(83)="2342418/A18211508C/" 1165 DO$(84)="1740112314304/418H/" 1167 DO$(85)="1740112214504/419H/" 1169 DO$(86)="4940112208504/A08604507420E/" 1171 DO$(87)="6131112208504/A08604507420E/" 1173 DO$(88)="4332(N)=0:FL=0: RETURN : ELSE RETURN 166 GO SUB 77: GO SUB 77: SCREEN 0: CLS 5: PRINT @39," END OF DAY ";O1$;D1;: FOR W=1 TO 4: IF V(W)=0 THEN GO SUB 249:L2=L2+1:N=W: GO SUB 120: GO SUB 4 167 NEXT : FOR J=1 TO 6:F(J)=F(J)+5: IF F(J)>30 AND F(J)<40 THEN F(J)=30 168 IF F(J)>35 THEN J(J)=-1 169 NEXT : IF L2>0 THEN GO SUB 195: SOUND 30,1:L2=0 170 FT=0:OT=0: FOR K=0 TO 5:FT=FT+S(1,K):OT=OT+S(2,K):CO=0: FOR L=1 TO 6: IF L(L)=K THEN CO=CO+1:S(1,K)=S(1,K)-1 171 NEXT : IF S(1,K)<0 THEN GO SUB 273:S(1,K)=0 172 IF S(3,K)0 THEN K3$=CR$:K4=B(N): ELSE K3$=CL$:K4=A(N) 184 IF F(K4)>9 THEN F(K4)=4: CLS 2: PRINT @195,K3$;" HAS BEEN TAKEN ILL";: GO TO 190: ELSE 369 185 K2$=NX$:S(2,D(N))=S(2,D(N))+K3 186 CLS 3: PRINT @195,CL$;" HAS FOUND ";K3;" USABLE ";: PRINT @227,K2$;" FROM LAST YEAR";: GO TO 190 187 IF S(1,D(N))>K3 THEN S(1,D(N))=S(1,D(N))-K3:K2$="LOTS OF FOOD":K3$=" CONTAMINATED ": GO TO 189: ELSE 369 188 IF S(2,D(N))>K3 THEN S(2,D(N))=S(2,D(N))-K3:K2$=NX$:K3$=" FAULTY ": ELSE 369 189 K2$=K2$+" FOUND TO BE": CLS 2: PRINT @194,K3;K2$;: PRINT @226,K3$; 190 GO SUB 195:J3=1: GO TO 367 191 S(1,0)=120:S(2,0)=40:S(3,0)=8:S(4,0)=15:S(5,0)=15: RETURN 192 GO SUB 341: GO SUB 194:W=0:H4=1: GO TO 57 193 PRINT @352,"" 194 PRINT @387,"": PRINT @418,"": PRINT @450,"": RETURN 195 K5$=" TO CONTINUE": GO SUB 163: RETURN 196 A(V)=0:B(V)=0: GO TO 32 197 O=A(N): GO SUB 5:AL$=C$:CL$=F$: IF DH(O)265 AND S0<>5 THEN 201: ELSE RETURN 201 IF RD0 THEN RETURN 203 IF U(N)>2 THEN XS=X(N)-30+ RND (60):YS=Y(N)-35- RND (45): IF XS<130 THEN A2=1: ELSE A2=-1: ELSE 206 204 IF YS<15 THEN YS=15 205 GO TO 207:'CIKB 206 XS=(90+ RND (30)+2*X(N))/3:YS=Y(N)-35- RND (45): IF RND (8)<5 THEN A2=1: ELSE A2=-1 207 GO SUB 248: IF B(N)=0 THEN F3$="HE":XD=X(N)-5:YD=Y(N)-5: ELSE F3$="THEY":XD=X(N)+4:YD=Y(N)-8 208 GO SUB 347: IF I5=1 THEN GO SUB 395:I5=0: ELSE M(N)=E8: RETURN : ELSE RETURN 209 IF U(N)>2 THEN Y3(N)=Y(N)+ FIX ((188-Y(N))*2/3):Y(N)=Y3(N) 210 GO SUB 302:Q3=3 211 FA=Q3:L1$="U":SL=1:FF$=K$: GO SUB 303: GO SUB 8: IF B(N)=0 THEN 212: ELSE FA=Q3/3:L1$="BR10BU":SL=3:FF$=L$: GO SUB 303: GO SUB 8 212 IF F9=0 THEN GO SUB 3:HH=9: GO SUB 295:F3=A(N):G7=2: GO SUB 287:F3=B(N):G7=1: GO SUB 287:G7=0:M(N)=10: COLOR 5,0:F9=1: GO TO 211 213 IF F9=1 THEN 215 214 IF F9=2 THEN F9=1: GO SUB 3: COLOR 5,0: GO TO 211 215 IF Q3=0 THEN F9=0: RETURN 216 Q3=0: COLOR 0,5:F9=2: GO TO 211 217 IF U(N)<3 THEN 218: ELSE 232 218 IF RD>275 THEN 219: ELSE RETURN 219 IF U(N)=1 THEN 220: ELSE 222 220 FOR A=1 TO 7: IF ABS (X3(N)-H(A))< ABS (B3) AND H(A)<>0 THEN 224 221 NEXT : RETURN 222 FOR A=1 TO 7: IF ABS (X3(N)-G(A))< ABS (B3) AND G(A)<>0 THEN 225 223 NEXT : RETURN 224 XD(A)=H(A):H(A)=500: IF C=N THEN XF(B)=XD(A): GO SUB 409: GO SUB 4: GO TO 227: ELSE 226 225 XE(A)=G(A):G(A)=500: IF C=N THEN XF(B)=XE(A): GO SUB 409: GO SUB 4: GO TO 227 226 GO SUB 266 227 CLS 2:O=A(N): GO SUB 5: PRINT @99,F$;" STOPPED BY CREVASSE ";: GO SUB 4: IF C(5,O)>0 THEN C(5,O)=C(5,O)-1: GO TO 230 228 IF C(5,B(N))>0 THEN C(5,B(N))=C(5,B(N))-1: GO TO 230 229 M(N)=9: PRINT @197,"NO LADDERS AVAILABLE ";: PRINT @229,"THERE WILL BE DELAY ";: PRINT @261,"WHILST BRIDGE IS MADE";: GO TO 231 230 Z(5,D(N))=Z(5,D(N))-1: PRINT @195,"LADDER USED AS BRIDGE"; 231 GO SUB 2:S0=0: RETURN 232 IF RD>B8-D1/(2*B7) AND FL=0 THEN 233: ELSE RETURN 233 GO SUB 248:R1=5+ RND (7):FL=1:SL=0: IF R1>(188-Y(N))/5 THEN R1= FIX ((188-Y(N))/5) 234 E(N)=R1*5:F4=E(N):O=A(N): GO SUB 5:K$=M$:F1$=F$:F1=O:O=B(N): GO SUB 5:L$=M$:F2$=F$:F2=O: IF RND (8)>4 THEN C2=1: ELSE C2=2 235 GO SUB 236: GO TO 238 236 IF C2=1 AND B(N)<>0 THEN L1$="BU7BR13BD":FF$=L$:F3$=F2$:F3=F2:D1$=K$ : ELSE L1$="BD":FF$=K$:F3$=F1$:F3=F1: IF B(N)<>0 THEN D1$="BU7BR13"+L$ : ELSE D1$="" 237 RETURN 238 GO SUB 302: SOUND 150,7: SOUND 130,2: SOUND 30,1: GO SUB 6 239 D2$="": FOR G=1 TO 4:FA= RND (4)-1:SL=R1*G: GO SUB 7:UF=40: GO SUB 4: GO SUB 6: IF C1>2 OR B(N)=0 THEN 242 240 A$= INKEY$ : IF A$="B" AND C1=1 THEN D2$="BD5L1R4D4":C1=2: ELSE IF A$="B" THEN D2$="BD5L1R4":C1=1 241 COLOR 0,5: DRAW D$+D1$+D2$: IF C1=2 THEN IF FA<>0 OR F4<38 THEN E(N)=R1*G: GO TO 246: ELSE C1=3 242 NEXT :SL=E(N):FA=0: GO SUB 7: SOUND 30,1: GO SUB 287: GO SUB 4:F(F3)=F(F3)-R1/2 243 IF C1<>3 THEN 245: ELSE IF C2=1 THEN C2=2: ELSE C2=1 244 GO SUB 236:SL=0:C1=4:G=0: GO TO 238 245 IF C1=4 THEN E(N)=0:FL=0:Y3(N)=Y3(N)+F4:M(N)=4:HH=R1/2: GO SUB 295 246 FA=0:C1=0:W5$=L1$:W6$=FF$: RETURN 247 L1$=W5$:FF$=W6$: GO SUB 302: COLOR 0,5: DRAW D$+D1$:SL=E(N): GO SUB 8: GO SUB 6: GO SUB 165:SL=E(N): GO SUB 7: RETURN 248 IF C<>N THEN C=N: GO SUB 9: GO SUB 360: RETURN : ELSE RETURN 249 IF U(W)<3 THEN 252 250 IF I(W)=1 THEN V5=Y2(W): ELSE V5=Y1(W) 251 V6=(Y3(W)-V5)/ ABS (Y1(W)-Y2(W)): GO TO 254 252 IF I(W)=1 THEN V5=X2(W): ELSE V5=X1(W) 253 V6=(X3(W)-V5)/ ABS (X1(W)-X2(W)) 254 IF U(W)=I THEN 256 255 IF V6>.4 THEN 256: ELSE 257 256 V7=(1-V6)*12: IF I(W)=1 THEN D(W)=N(W): GO TO 258: ELSE 258 257 V7=V6*18: IF I(W)=-1 THEN D(W)=N(W) 258 N=W: GO SUB 197: IF B(W)=0 THEN G$=CL$:C$=AL$: GO SUB 260: ELSE G$=CL$+" AND "+CR$:C$=AL$: GO SUB 260:C$=AR$: GO SUB 260 259 PRINT @130+L2*64,G$+" REACHED CAMP";D(W);: PRINT @162+L2*64, USING "AFTER A FURTHER ##.# HRS ";V7;: RETURN 260 GO SUB 304:F(X)=F(X)-V7:L(X)=D(W): RETURN 261 S0=0: GO SUB 266 262 Y=C(4,A(N)):CR=C(4,B(N)): IF Y>0 AND CR>0 THEN Y=Y-1:CR=CR-1: GO TO 264 263 IF Y>0 THEN Y=Y-2: ELSE CR=CR-2 264 Z(4,D(N))=Z(4,D(N))-2:C(4,A(N))=Y:C(4,B(N))=CR: CLS : IF R$(D(N))="1" THEN G$="LOWER": ELSE G$="ALL" 265 PRINT @97,"REPORTING THAT "G$" ROPES": PRINT @161,"FIXED FROM CAMP";N(N);" TO CAMP";D(N): GO SUB 2: GO SUB 2: RETURN 266 SOUND 140,3: RETURN 273 FOR M=1 TO 6: IF L(M)=K THEN F(M)=F(M)-( ABS (S(1,K))/CO)*(10+2*K) 274 NEXT : RETURN 275 FOR P=1 TO 6: IF L(P)=K THEN F(P)=F(P)-(1-2*S(3,K)/CO)*2*(K+7) 276 NEXT : RETURN 277 L(R)=9:F(R)=150:O=R: GO SUB 5: GO SUB 2: IF D9=0 THEN D8$=C$ 278 IF T(R)=1 THEN L5=L5+1 279 IF D9=1 THEN D7$=C$ 280 GO SUB 266:D9=D9+1: GO SUB 281: IF D9=6 THEN V5$="AS SIX MEMBERS HAVE DIED": GO TO 126: ELSE GO SUB 282: RETURN 281 CLS 0: PRINT @98,"REGRET "F$;D9$: GO SUB 2: RETURN 282 TT=0: FOR G1=1 TO 6:TT=TT+T(G1): NEXT : IF TT=6 AND D9=0 THEN L4=8:V5$="A SUPERLATIVE 100 SUCCESS": GO TO 125 283 IF TT+D9-L5=6 THEN L4=4:V5$="SUCCESSFUL DESPITE TRAGEDY": GO TO 125 284 RETURN 285 GO SUB 286: IF N$= CHR$ (13) THEN GO SUB 194: GO TO 67: ELSE O(O)=1:U=6: GO TO 192 286 PRINT @450,"'ENTER' OR BACKSPACE TO REDO":N$= INKEY$ : IF N$= CHR$ (13) OR N$= CHR$ (8) THEN RETURN : ELSE 286 287 IF C1=4 OR G7=1 THEN 288: ELSE C4= RND (6) 288 IF C4=3 THEN GO SUB 292: IF QU=1 THEN C3$="LARGE" 289 IF C4=1 THEN GO SUB 292: IF QU=1 THEN C3$="ALL" 290 IF C1=3 OR G7=2 THEN RETURN : ELSE IF QU=1 THEN QU=0: ELSE RETURN 291 CLS 2: PRINT @68,"REGRET THAT ";C3$;" EQUIPMENT";: PRINT @100,"WAS LOST IN THE FALL";: GO SUB 2: SCREEN 1,1: RETURN 292 FOR Q5=C4 TO 5:Z(Q5,D(N))=Z(Q5,D(N))-C(Q5,F3): IF C(Q5,F3)>0 THEN QU=1 293 C(Q5,F3)=0: NEXT : IF C(4,A(N))+C(4,B(N))<2 THEN PR(N)=1 294 RETURN 295 F(A(N))=F(A(N))-HH: IF F(A(N))<0 THEN R=A(N): GO SUB 301:K$="":E6=1 296 IF B(N)=0 OR L(B(N))=9 THEN E6=0: ELSE F(B(N))=F(B(N))-HH: IF F(B(N))<0 THEN R=B(N): GO SUB 301:L$="":E6=0 297 IF E6=1 THEN A(N)=B(N):B(N)=0 298 E6=0: IF L(A(N))=9 THEN V(N)=1 299 IF DK=1 THEN DK=0: GO SUB 395 300 SCREEN 1,1: RETURN 301 D9$=" KILLED IN FALL": GO SUB 277:DK=1: RETURN 302 D$="BM"+ STR$ (X(N))+","+ STR$ (Y(N)) 303 L7$=D$+L1$:L8$=FF$+"A0": RETURN 304 IF C$="S" THEN X=1: ELSE X=7 305 IF C$="E" THEN X=2 306 IF C$="M" THEN X=3 307 IF C$="G" THEN X=4 308 IF C$="J" THEN X=5 309 IF C$="A" THEN X=6 310 RETURN 311 COLOR 5,0: GO SUB 313:TI=TI+1: IF TI>3 THEN T3=T3+1:TI=TI-3 312 COLOR 0,5: GO SUB 313: RETURN 313 NR$="A"+ STR$ (T3)+"BM230,20": ON TI GO TO 314,315,316 314 DRAW NR$+"D10A0": RETURN 315 DRAW NR$+"BD10BM-5,-2M230,20A0": RETURN 316 DRAW NR$+"BD10BM-8,-6M230,20A0": RETURN 317 IF L(O)=9 THEN GO SUB 318:M$="": RETURN 318 ON O GO TO 320,321,322,323,324,325 319 C$="":M$="":F$="": RETURN 320 C$="S":M$=MC$:F$="STIAN": RETURN 321 C$="E":M$=MC$:F$="EVA": RETURN 322 C$="M":M$=MC$:F$="MORTEN": RETURN 323 C$="G":M$=MC$:F$="CRY": RETURN 324 C$="J":M$=MC$:F$="JAN-H": RETURN 325 C$="A":M$=MC$:F$="ANJA": RETURN 326 B4=1:D=D+1: IF D>6 THEN D=1: IF NN=0 THEN NN=1: ELSE NN=0 327 SA$="BM22,"+ STR$ (D*32-15): COLOR 5,0:C4=D+NN-1: GO SUB 345: GO SUB 346: COLOR 0,5:C4=D-NN: GO SUB 345: GO SUB 346: RETURN 328 E$="": PRINT @478,"?" 329 N$= INKEY$ : IF N$="" THEN 329 330 IF ASC (N$)=13 AND E$<>"" THEN RETURN 331 IF ASC (N$)=8 AND E$<>"" THEN E$= LEFT$ (E$, LEN (E$)-1): GO TO 337 332 IF LEN (E$)=QZ THEN 329 333 IF N$>"Z" OR N$<="." THEN 329 334 IF N$=D8$ OR N$=D7$ THEN 329 335 IF N$= CHR$ (47) AND L(7)=7 THEN GO SUB 130: GO TO 31 336 E$=E$+N$ 337 PRINT @ZQ,E$; STRING$ (QZ- LEN (E$)," ");: GO TO 329 338 IF U$="S" OR U$="E" OR U$="M" OR U$="G" OR U$="J" OR U$="A" THEN CC=1: ELSE CC=2 339 RETURN 340 FOR F=4 TO V STEP -1:A(F)=0:B(F)=0:V(F)=1: NEXT : RETURN 341 IF U=1 THEN RETURN 342 FOR Q=1 TO U-1:S(Q,L(Y))=S(Q,L(Y))+C(Q,O):Z(Q,Z)=Z(Q,Z)-C(Q,O):C(Q,O)=0: NEXT :W=0: RETURN 343 GO SUB 344: PRINT @472,N$: FOR DD=1 TO 100: NEXT : RETURN 344 N$= INKEY$ : IF N$="Y" OR N$="N" THEN RETURN : ELSE 344 345 IF C4=1 OR C4=3 OR C4=5 THEN SN$="NF3BR42": RETURN : ELSE SN$="NG3BR42": RETURN 346 DRAW SA$+SN$+SN$+SN$+SN$+SN$+SN$: RETURN 347 E8=0:A3= RND (3)+3:A4= RND (3)+7: GO SUB 302:G8=4: GO SUB 414 348 FOR D=1 TO 12: FOR N9=1 TO 8:XA=XS+ RND (A3):YA=YS+ RND (A4): PSET (XA,YA,0): NEXT :XS(D)=XS:YS(D)=YS:XS=XS+A2*A3: IF XS<1 THEN XS=1 349 YS=YS+A4: IF YS-YD>15 THEN RETURN 350 IF ABS (YS-YD)<10 AND ABS (XD-XS)<11 AND E8<>4 THEN 359 351 IF D=4 OR D=8 THEN A3= RND (D+6)+6:A4= RND (D+4)+4: IF RND (8)>4 THEN A2=A2*-1 352 IF E8=4 THEN 355: ELSE N$= INKEY$ : IF N$="D" THEN E8=E8+1: GO TO 353: ELSE 355 353 COLOR 5,0: DRAW D$+L1$(E8): COLOR 0,5 355 NEXT : RETURN 359 I5=1:G8=2: GO SUB 414: PMODE 0,1: SCREEN 1,1: COLOR 0,5: PCLS : FOR I6=1 TO 15:JX= RND (200)+28:JY= RND (150)+16:I4= RND (6)*5+5: CIRCLE (JX,JY),I4: NEXT : RETURN 360 IF C<>S0 THEN GO SUB 9: GO SUB 395:S0=C 361 IF E(N)>0 THEN 247 362 COLOR 5,0: DRAW "BM"+ STR$ (X(N))+","+ STR$ (Y(N))+K$+"BR10"+L$: COLOR 0,5: DRAW "BM"+ STR$ (X3(N))+","+ STR$ (Y3(N))+K$+"BR10"+L$: RETURN 363 H2=1: GO SUB 197: IF D(N)=I THEN 152 364 IF C<>N THEN GO SUB 266 365 IF PR(N)=1.3 AND R$(D(N))="1" AND C(4,A(N))+C(4,B(N))>1 THEN R$(D(N))="2": GO SUB 262 366 S0=0:J(A(N))=-1:J(B(N))=-1: GO SUB 120: IF B(N)=0 THEN G$=" IS AT":MG$="HE": ELSE G$=" AND "+CR$+" ARE AT":MG$="THEY" 367 CLS 5: PRINT @98,CL$;G$" CAMP";D(N);: IF J3=1 THEN 369: ELSE GO SUB 3 368 IF D(N)>0 THEN 180 369 FOR L3=1 TO 6:K7=L3: GO SUB 177: NEXT :J3=0:J4=CI*.0752:J5=J4- FIX (J4):J5= FIX (J5*60)/100:J6=6+ FIX (J4): IF J6>11 THEN J6$="P.M.": ELSE J6$="A.M." 370 IF J6>12 THEN J6=J6-12 371 J7=J6+J5: PRINT @162, USING "THE TIME IS ##.## ";J7;: PRINT @180,J6$;: GO SUB 4: PRINT @258,"SHOULD "MG$" STAY HERE TODAY?";: PRINT @329,"Y=YES N=NO"; 372 A$= INKEY$ : IF A$="Y" THEN 376 373 PRINT @478,"?";: IF A$= CHR$ (47) THEN GO SUB 130:J3=1: GO TO 367 374 IF A$="N" THEN 375: ELSE 372 375 AA=1:B$=AL$+AR$:V=N:C=N: GO TO 31 376 V(N)=1:S0=5: GO TO 97 377 IF H3=1 THEN 384 378 E$= INKEY$ :E$="" 379 N$= INKEY$ : PRINT @478,"?": IF N$="" THEN 379: ELSE IF H4=1 AND N$="R" AND H2=1 THEN H3=1: GO TO 384 380 IF N$= CHR$ (47) THEN GO SUB 130: GO SUB 342: GO SUB 49: GO TO 123 381 IF N$= CHR$ (8) THEN GO SUB 342: GO SUB 194: GO TO 123 382 IF VAL (N$)>9 OR VAL (N$)<1 THEN 383: ELSE 384 383 IF N$<>"0" THEN 379 384 IF H3=1 THEN 386 385 E$=N$: GO TO 387 386 ZQ=ZQ-1: IF S(U,L(Y))>TL(U+G6) THEN E$= STR$ (TL(U+G6)): ELSE E$= STR$ (S(U,L(Y))) 387 H4=0: PRINT @ZQ,E$: SOUND 15,1: RETURN 388 R(N)=0:XR=X1(N):YR=Y1(N):X1(N)=X2(N):Y1(N)=Y2(N):X2(N)=XR:Y2(N)=YR: IF I(N)=1 THEN I(N)=-1: ELSE I(N)=1 389 IF PR(N)=1.3 THEN PR(N)=1 390 P(N)= FIX (P(N)*4/(4+I(N))):Q(N)= FIX (Q(N)*4/(4+I(N))):Z1=D(N):D(N)=N(N):N(N)=Z1 391 FOR Z2=1 TO 5:Z(Z2,Z1)=Z(Z2,Z1)-C(Z2,A(N))-C(Z2,B(N)):Z(Z2,D(N))=Z(Z2,D(N))+C(Z2,A(N))+C(Z2,B(N)): NEXT : RETURN 392 R(N)=1: IF R$(U(N))="1" THEN P(N)= FIX ((1-I(N)*.3)*P(N)/PR(N)) 393 IF PR(N)=1.3 AND R$(D(N))=" " THEN R$(D(N))="1": GO SUB 261 394 RETURN 395 PMODE 4: PCLS 5: SCREEN 1,1: COLOR 0,5 396 LINE (210,1)-(250,40), PSET ,B: CIRCLE (230,20),12: CIRCLE (238,24),1: GO SUB 313 397 ON U(N) GO TO 398,399,400,401,402,403 398 B7$=B1$:H6$=H0$:H7$=H1$: GO SUB 408: FOR B=1 TO 7:XF(B)=XD(B): GO SUB 409: NEXT : RETURN 399 B7$=B2$:H6$=H1$:H7$= REM REM ************************************************* REM * Dragon file header detected: * REM * Start: $2401 Length: $4bd3 Exec: $8b8d * REM *(Start: 09217 Length: 19411 Exec: 35725) * REM ************************************************* REM 0 CLS : PRINT : PRINT : PRINT " MADE BY HOT DOG (S.WIX0E)": PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT "PRESS ENTER": INPUT QWQWQWQWQWQW$ 1 GO TO 10 2 UF=UF*3 3 UF=UF*2 4 FOR DD=1 TO UF: NEXT :UF=250: RETURN 5 GO TO 317 6 COLOR 5,0: GO TO 8 7 COLOR 0,5 8 DRAW L7$+ STR$ (SL)+"A"+ STR$ (FA)+L8$: RETURN 9 O=A(N): GO SUB 5:K$=M$:O=B(N): GO SUB 5:L$=M$: RETURN 10 CLEAR 700:UF=250:NE$="EVEREST": CLS 3: PRINT @203,NE$;:MC$="E2NF2U2R1L2U3R2":MF$="E2NF2U3NR2U2R2BL1":MH$="E2NF2U5D2R3D2U4BL2":MI$="E2NF2U2NR1NL1U3L1R2":ML$="E2NF2U2NR2U3BR1":MT$="E2NF2U5L1R2" 11 DIM XS(12),YS(12),S(5,6),C(5,6),Z(5,6),P(4),U(4),I(6),Q(4),A(6),B(6),N(6),D(6),G(7),H(7),J(6),O(6),M(4),T(6),R(4),L1$(4),SW(5),R$(6),PR(4),X1(4),Y1(4),X2(4),Y2(4),X(4),Y(4),X3(4),Y3(4),S1$(6),XD(7),XE(7),L(7),W(6),V(4) 12 R0$="BM150,165M130,120M105,91": READ L1$(1),L1$(2),L1$(3),L1$(4),NL$,NN$,NU$,NV$,NW$,NX$,NY$,NZ$: DATA E1,R13U7E1,R4H1,R17U7H1,LHOTSE,NUPTSE,CLIMBER'S LOADS,SUPPLIES,FOOD OXGN TNTS ROPE LDRS,OXYGEN BOTTLES,WEATHER,MEDICAL REPORT 13 READ CJ,TA$,T$,SW(1),SW(2),SW(3),SW(4),SW(5),H0$,H1$,H2$,H3$,H4$,H5$: DATA 2,E5U3E4G4D3G5D4G6D5G4,BD8BL5NE3R11H3L5F3,5,10,25,20,20,R3U4L3D4,NU4,NR3U2R3U2L3BD4,R3U2NL3U2L3BD4,NU3R3L1NU1D1,R3U2L3U2R3L3BD4 14 FOR N=1 TO 6:F(N)=30:S(0,N-1)=N-1: NEXT :G(0)=5:H(0)=5: GO SUB 191: FOR N=1 TO 7:G(N)=G(N-1)+ RND (125/(N+1)-5)+15: IF G(N)>178 THEN 16 15 NEXT 16 FOR N=1 TO 7:H(N)=H(N-1)+ RND (125/(N+1)-5)+15: IF H(N)>178 THEN 18 17 NEXT 18 NB$="F20M230,155F25":NC$="M220,120M230,165F20":ND$="M220,120D30M230,180":NG$="BM150,0F20M185,55M200,90":NI$="BM170,0M190,40M185,65M200,90" 19 CLS 3: PRINT @39," WHICH MOUNTAIN ";: PRINT @67," DO YOU WISH TO ATTEMPT ?";: PRINT @99," "NN$" (N) 25,850 FT ";: PRINT @131," "NL$" (L) 27,890 FT ";: PRINT @163," "NE$" (E) 29,028 FT ";: PRINT @228,"ENTER N,L OR E ? "; 20 A$= INKEY$ : IF A$="N" THEN NM$=NN$:I=4:B1$="BM60,0F45R15F30E10F55R15F20":B2$="BM100,0F40M165,90R15F35E8F20":B3$=NG$+"M210,120F30M255,180":B4$="BM0,60M30,45E15R10E20R25M140,20M190,60M200,90"+NB$: GO TO 25 21 IF A$="L" THEN NM$=NL$:I=5:B1$="E20F50R20M160,75E15R5F45E10F15":B2$="BM70,0F55M140,80E15F35M230,110F25":B3$="BM150,0M160,40M190,65M200,90"+NB$:B4$=NI$+ND$:B5$="BM20,90M40,50M60,40M70,20M90,10R20M130,25M170,45M180,80M200,90"+NC$: GO TO 25 22 IF A$="E" THEN 23: ELSE 20 23 NM$=NE$:I=6:B1$="F5E15R10F20E20F15R5F30R5F20R5E5R5F15E15U5E10F35E5F10":B2$="F5E10R5E5F25E25F5E10F20D15F15F25E15R5F10E5F20E10R10E5F20":B3$=NG$+NC$:B4$=NI$+"M205,125F20M230,180":B5$="BM170,0M180,50M200,90"+ND$ 24 B6$="BM10,99E20M60,40M80,30E20R20F20E5M160,50M180,60M200,90"+NC$ 25 PRINT @245,NM$;:V9$="EXPEDITION ":EO$="ABANDONED":V7$="L4T15V20O4AEDCAEDC": GO SUB 3: PRINT @321,"SPRING (S) OR AUTUMN (A) TRY ?";: PRINT @355,"(AUTUMN IS MORE DIFFICULT)";: PRINT @421,"ENTER S OR A ? "; 26 A$= INKEY$ : IF A$="S" THEN NT$="SPRING":O1$="APR":B2=280:B3=-4:B6=270:B7=3:B8=287: GO TO 28 27 IF A$="A" THEN NT$="AUTUMN":O1$="SEP":B2=200:B3=6:B6=275:B7=-9:B8=285: ELSE 26 28 PRINT @436,NT$;: GO SUB 2 29 W4=200:D1=1: GO SUB 415:D1=0:W(0)=60:O(0)=1:F(0)=9:L(7)=7: FOR N=0 TO 6:R$(N)=" ":J(N)=-1: NEXT 30 D1=D1+1:B4=0:H2=0:T3=0:W=0:CI=0:TI=1:FL=0:T1=1:T2=1:C=1:S0=5:NP=0:PA$="1ST":V=1: FOR N=1 TO 4:P(N)=0:V(N)=0:E(N)=0:M(N)=0: NEXT : FOR N=1 TO 5: FOR D=1 TO 6:C(N,D)=0:Z(N,D-1)=0:A(D)=0:B(D)=0: NEXT D,N 31 GO SUB 114: IF AA=1 THEN PRINT @321,CL$" , "CR$: GO TO 33 32 CR=0: PRINT @320,"ENTER "PA$" CLIMBER(S)":ZQ=342:QZ=2: GO SUB 328:B$=E$ 33 IF LEN (B$)=1 THEN NA=1: IF B$="0" THEN 48: ELSE U$=B$: GO SUB 338: IF CC=2 THEN 32: ELSE C$=B$: GO SUB 304:Y=X:A(V)=X: GO TO 38 34 NA=2:U$= LEFT$ (B$,1): GO SUB 338: IF CC=2 THEN 32 35 C$=U$: GO SUB 304:Y=X:A(V)=X:U$= RIGHT$ (B$,1): GO SUB 338: IF CC=2 THEN 32 36 C$=U$: GO SUB 304:CR=X:B(V)=X: IF Y=CR THEN 196 37 IF L(Y)<>L(CR) THEN 196 38 IF V=1 THEN 42 39 FOR J=1 TO V-1: IF Y=A(J) OR CR=A(J) THEN 196 40 IF Y=B(J) OR CR=B(J) THEN IF B(J)<>0 THEN 196 41 NEXT 42 PRINT @450,"": IF I-L(Y)=1 THEN PRINT @352,"SUMMIT TRY? (Y/N)": GO SUB 344: IF N$="Y" THEN Z=I: PRINT @371,"YES": GO TO 46: ELSE PRINT @371,"TO CAMP"L(Y)-1;:Z=L(Y)-1: GO TO 46 43 PRINT @478,"?": PRINT @352,"TO GO TO CAMP :-":N$= INKEY$ : IF N$= CHR$ (47) THEN GO SUB 130: GO TO 31: ELSE IF ABS ( VAL (N$)-L(Y))=1 AND N$<>"" THEN 44: ELSE 43 44 IF N$>"6" OR N$<"0" THEN 43 45 Z= VAL (N$): PRINT @369,N$ 46 F(V+6)=F(Y)+F(CR):J(Y)=Z: IF CR=0 THEN 47: ELSE J(CR)=Z 47 N(V)=L(Y):D(V)=Z: IF Z>L(Y) THEN U(V)=Z:I(V)=1: ELSE U(V)=L(Y):I(V)=-1 48 GO SUB 286: IF N$= CHR$ (13) THEN IF B$="0" THEN GO SUB 340: GO TO 76: ELSE GO SUB 49:NP=NP+NA: GO TO 54: ELSE GO SUB 193:J(CR)=-1:J(Y)=-1:A(V)=0:B(V)=0:N(V)=0:D(V)=0: GO TO 31 49 CLS : PRINT @200-32*I,NV$" "O1$;D1: PRINT @295-32*I,"5LB 10LB 25LB 20LB 20LB": PRINT @257-32*I,"CAMP "NW$:E9=0 50 FOR L=E9 TO 5: FOR M=I-1 TO 0 STEP -1:ML=290+L*5-M*32: IF S(L,M)>99 THEN PR$="###": ELSE PR$="## " 51 PRINT @ML, USING PR$;S(L,M);: IF Z(L,M)<>0 THEN IF Z(L,M)>9 THEN PR$="+##": ELSE PR$="+#": ELSE 53 52 PRINT @ML+2, USING PR$;Z(L,M); 53 NEXT M,L: RETURN 54 E1=1 55 FOR PP=E1 TO 2: IF PP=1 THEN N=Y:G6=0: ELSE IF CR=0 THEN 71: ELSE N=CR:G6=5: IF E1=1 THEN E9=1: GO SUB 50 56 O=N: GO SUB 5: PRINT @354,"LOAD FOR ";F$: IF Z=I THEN PRINT @369,"TO SUMMIT": ELSE PRINT @369,"- CAMP"N(V)"TO"Z 57 FOR U=1 TO 5 58 ZQ=387+U*5: IF H2=1 AND H3=1 THEN 60 59 IF S(U,L(Y))=0 OR W>660 AND U>2 OR (U(V)=I AND U<>2) THEN PRINT @ZQ,"0":C(U,O)=0: GO TO 63 60 PRINT @ZQ,"?";: GO SUB 377:C(U,O)= VAL (E$): IF C(U,O)>S(U,L(Y)) THEN PRINT @439,"TOO MANY": GO SUB 2: PRINT @439,"": GO TO 58 61 W=W+C(U,O)*SW(U): PRINT @450,"LOAD SO FAR"W: IF W>400 THEN PRINT @450,"LOAD";W;"TOO HEAVY": GO SUB 2: GO TO 192 62 S(U,L(Y))=S(U,L(Y))-C(U,O):Z(U,Z)=Z(U,Z)+C(U,O) 63 NEXT :W(O)=W:W=0:H3=0:H4=1: IF L(Y)>2 OR Z>2 THEN 64: ELSE 66 64 IF C(2,O)>0 THEN PRINT @450,"USING OXYGEN? (Y/N)": GO SUB 343: ELSE 66 65 IF N$="Y" THEN O(O)=.1: GO TO 285 66 O(O)=1: GO TO 285 67 IF O(O)=.1 THEN C(2,O)=C(2,O)-1:Z(2,Z)=Z(2,Z)-1 68 NEXT PP:H2=0: IF I(V)=-1 OR CR=0 THEN 71 69 IF Z>2 AND Z"2" AND C(4,Y)+C(4,CR)>1 THEN PRINT @418,"SET FIXED ROPES? (Y/N)": GO SUB 343: ELSE 71 70 IF N$="Y" THEN PR(V)=1.3: GO TO 72 71 PR(V)=1 72 Y=0:CR=0: IF AA=1 THEN N=V: GO TO 90 73 IF V=1 THEN V=2:PA$="2ND": GO TO 31 74 IF V=2 THEN IF NP+D9=6 THEN V(3)=1:V(4)=1: GO TO 76: ELSE V=3:PA$="3RD": GO TO 31 75 IF V=3 THEN IF NP+D9=6 THEN V(4)=1: ELSE V=4:PA$="4TH": GO TO 31 76 GO TO 88 77 IF D1>18 THEN WE=WE+7:CJ=2+ INT ((WE-160)/30): IF WE>250 THEN V5$=NY$+" CONDITIONS HOPELESS": GO TO 126: ELSE RETURN 78 W1=W2:W2=W3:W3=W4:W4=W5:W5= RND (B2+D1*B3):WE=(W1+W2+W3)/3: RETURN 79 IF D1>18 THEN WF=WE: IF WE>200 THEN O$=NY$+" CLOSING IN": GO TO 87: ELSE 81 80 WF=(3*W5+3*W4+2*W3+W2)/9 81 IF WE>150 THEN 82: ELSE 85 82 IF WF>125 THEN O$="STORM MAY EASE": ELSE O$="BECOMING BRIGHTER" 83 IF WF>150 THEN O$="STORM CONTINUING":'CIKB 84 GO TO 87 85 IF WF>125 THEN O$="CHANGEABLE": ELSE O$="OUTLOOK GOOD" 86 IF WF>150 THEN O$="BAD "+NY$+" LIKELY" 87 CLS 6: PRINT @71,NY$" FORECAST";: PRINT @107,O1$;D1;: PRINT @230,O$;: RETURN 88 FOR N=1 TO 4: IF A(N)=0 THEN 96 89 IF R$(U(N))="1" THEN IF I(N)=-1 THEN Z5=1: ELSE IF PR(N)=1 THEN Z5=.7: ELSE Z5=.54: ELSE Z5=5/( VAL (R$(U(N)))+5) 90 Q9(N)=(40+4*U(N))*6/(7-I(N))*90/(F(N+6)+30)*(1+((U(N)-1)^2*(O(A(N))+O(B(N)))/50))*PR(N)*Z5*(1+(W(A(N))+W(B(N))-60)/600):Q9(N)=Q9(N)*100/(B2+120): IF U(N)<3 THEN 91: ELSE 93 91 IF I(N)=1 THEN X1(N)=230:Y1(N)=183:X2(N)=10:Y2(N)=120: ELSE X1(N)=10:Y1(N)=120:X2(N)=230:Y2(N)=183 92 Q(N)= FIX (210/Q9(N)):P(N)= FIX (63/Q9(N)+.5): GO TO 95 93 IK=170-10*U(N): IF I(N)=1 THEN X1(N)=IK:Y1(N)=185:X2(N)=U(N)*17:Y2(N)=15: ELSE X1(N)=U(N)*17:Y1(N)=15:X2(N)=IK:Y2(N)=185 94 Q(N)= FIX ((130-U(N)*17)/Q9(N)):P(N)= FIX (172/Q9(N)) 95 X(N)=X1(N):Y(N)=Y1(N): IF AA=1 THEN AA=0: GO TO 97 96 NEXT 97 FOR N=1 TO 4: IF V(N)=1 THEN 106 98 IF M(N)>0 THEN M(N)=M(N)-1: GO TO 104 99 IF E(N)>0 THEN IF C=N THEN 104: ELSE GO SUB 165: GO TO 104 100 X3(N)=X(N)-I(N)*Q(N):Y3(N)=Y(N)-I(N)*P(N) 101 IF R(N)=0 THEN IF I(N)*(Y(N)-100)<0 THEN GO SUB 392 102 IF U(N)<3 THEN IF I(N)*(X3(N)-X2(N))<0 THEN 363 103 IF U(N)>2 THEN IF I(N)*(Y3(N)-Y2(N))<0 THEN 363 104 IF C=N THEN GO SUB 360 105 X(N)=X3(N):Y(N)=Y3(N): GO SUB 200 106 A$= INKEY$ : IF A$="1" OR A$="2" OR A$="3" OR A$="4" THEN IF V( VAL (A$))<>1 THEN C= VAL (A$) 107 IF A$= CHR$ (47) AND S0<>5 THEN Z4=1: GO SUB 130 108 CI=CI+1: NEXT : IF V(1)=1 THEN IF V(2)=1 AND V(3)=1 AND V(4)=1 THEN 166 109 IF CI/13>=T1 THEN T1=T1+1: IF T1>=11 THEN 166: ELSE GO SUB 311: ELSE 111 110 IF T1/3>=T2 THEN T2=T2+1: GO SUB 77 111 IF WE>150 THEN FOR JC=1 TO CJ:CI=CI+1: GO SUB 326: NEXT : ELSE IF B4=1 THEN B4=0:S0=0 112 IF S0=5 THEN C=C+1: IF C>4 THEN C=1 113 GO TO 97 114 CLS : PRINT @226-32*I,"POSITION OF CLIMBERS "O1$;D1 115 FOR D=7-I TO 6: PRINT @65+D*32,R$(6-D)+" CAMP"+ STR$ (6-D): FOR Q=1 TO 6: IF L(Q)=6-D THEN O=Q: GO SUB 5: PRINT @74+D*32+3*Q,C$;S1$(Q) 116 IF J(Q)=6-D THEN PRINT @74+D*32+3*Q,":" 117 NEXT Q,D: FOR Q=1 TO 6: IF T(Q)=1 THEN PRINT @266-32*I+3*Q,"+" 118 IF J(Q)=I THEN PRINT @266-32*I+3*Q,":" 119 NEXT : RETURN 120 R(N)=0:SL(N)=0:L(A(N))=D(N):J(A(N))=-1:F(A(N))=F(A(N))-CI*8/128: IF B(N)<>0 THEN F(B(N))=F(B(N))-CI*8/128 121 IF CR$<>"" THEN L(B(N))=D(N):J(B(N))=-1 122 FOR S=1 TO 5:TL(S)=C(S,A(N)):TL(S+5)=C(S,B(N)):S1=C(S,A(N))+C(S,B(N)):S(S,D(N))=S(S,D(N))+S1:Z(S,D(N))=Z(S,D(N))-S1:C(S,A(N))=0:C(S,B(N))=0: NEXT : RETURN 123 H4=1: IF PP=2 THEN E1=2 124 GO TO 55 125 GO SUB 4:V8$="WELL DONE":EA$=V9$+"OVER":V6$=V7$: GO TO 127 126 V8$="BAD LUCK":L4=2:EA$=V9$+EO$:V6$="" 127 GO SUB 129: IF D9=3 THEN PLAY "O1T1L6CEGC": ELSE GO SUB 2 128 K5$=" FOR RATING": GO SUB 163: GO TO 157 129 FOR G2=2 TO L4: CLS G2: PRINT @102,EA$;: PRINT @195,V5$;: PLAY V6$: NEXT : PRINT @298,V8$;: GO SUB 2: RETURN 130 CLS 5: PRINT @38,"INFORMATION SERVICE"; 131 PRINT @132,NY$" REPORT - TYPE W ";: PRINT @196,"CLIMBER POSITION ' P ";: PRINT @260,NV$" REPORT ' S ";: PRINT @324,NU$" ' L ";: PRINT @388,NZ$" ' M "; 132 IF Z4=1 THEN PRINT @450,"( TO TURN 'PAIR'";C;" TYPE T )"; 133 I$= INKEY$ : IF I$="W" THEN GO SUB 79: GO TO 140 134 IF I$="P" THEN GO SUB 114: GO TO 140 135 IF I$="S" THEN GO SUB 49: GO TO 140 136 IF I$="L" THEN GO SUB 141: GO TO 140 137 IF I$="M" THEN GO SUB 143: GO TO 140 138 IF I$="T" AND Z4=1 THEN N=C: GO SUB 388:S0=0:Z4=0: RETURN 139 IF I$= CHR$ (12) THEN S0=0:Z4=0: RETURN : ELSE 133 140 J$= INKEY$ : IF J$= CHR$ (12) THEN 130: ELSE 140 141 CLS : PRINT @39,NU$: PRINT @97,"NAME "NW$ 142 FOR Q9=1 TO 6:O=Q9: GO SUB 5: PRINT @129+Q9*32,F$;: FOR Q8=1 TO 5: PRINT @130+Q9*32+Q8*5, USING "###";C(Q8,Q9);: NEXT : NEXT : RETURN 143 CLS 6: PRINT @40,NZ$;: FOR Q4=1 TO 6: GO SUB 144:O=Q4: GO SUB 5: PRINT @100+Q4*32,F$+" ";: PRINT @109+Q4*32,Q$;: NEXT : RETURN 144 IF F(Q4)>6 THEN Q$="EXHAUSTED": ELSE Q$="NEAR COLLAPSE" 145 IF F(Q4)>10 THEN Q$="NEARLY EXHAUSTED" 146 IF F(Q4)>14 THEN Q$="VERY TIRED" 147 IF F(Q4)>18 THEN Q$="TIRED" 148 IF F(Q4)>22 THEN Q$="QUITE FIT" 149 IF F(Q4)>26 THEN Q$="FULLY FIT" 150 IF F(Q4)>35 THEN Q$="DECEASED" 151 RETURN 152 IF B(N)=0 THEN EA$=CL$+" HAS": ELSE EA$=CL$+" AND "+CR$+" HAVE" 153 V5$="NOW REACHED THE SUMMIT":L4=8:V8$="WELL DONE":V6$=V7$: GO SUB 129:T(A(N))=1:T(B(N))=1 154 IF Y3(N)<15 THEN Y3(N)=15 155 C=0:S0=0: GO SUB 248: GO SUB 2: IF I=6 THEN DRAW "BM120,10U10L6D6R6L3U6D3L3R6": GO SUB 2 156 GO SUB 282: GO SUB 388:S0=0: GO TO 100 157 FOR G4=1 TO 6:DT=DT+DH(G4):SF=SF+ ABS (30-F(G4)): NEXT : IF TT=6 THEN G3=20: ELSE G3=0 158 RR=350*TT+(20-D1)*G3+(500-SF)+(DT-12)*50+OT*(DT-12)/6:G5=RR*(I-3)*48/(45+B7): IF G5<0 THEN G5=0 159 RY= FIX (RR/38): CLS 3: PRINT @40,NM$" IN "NT$;: PRINT @132, USING "YOUR RATING WAS #####";G5;: IF RR<250 THEN 161 160 PRINT @233,"APPROX "RY" ";: PRINT @265,"OF MAXIMUM ";: PRINT @297,"FOR THIS CLIMB";: GO TO 162 161 PRINT @268,"OH DEAR"; 162 K5$=" FOR NEW GAME": GO SUB 163: GO TO 1 163 PRINT @419,"PRESS 'ENTER'";K5$; 164 A$= INKEY$ : IF A$= CHR$ (13) THEN RETURN : ELSE 164 165 E(N)=E(N)-5: IF E(N)<=0 THEN E REM REM line numbering breaks here! REM BASD qEVEREST BAS ($fc)$ 180  REM REM line numbering breaks here! REM LOAD SUBHUNT BAS RESTORE $ l 170 DTREK REM REM line numbering breaks here! REM BAS H($fc)R SWAP ALCATRAZBAS $$  FOUR BASz 7HORSE BAS SET  yMINEDOUTBAS OFF = 201 OTHELLO REM REM line numbering breaks here! REM BAS  9PILOT-32BAS. ($ea) BASD qEVEREST BAS ($fc)$ 180  REM REM line numbering breaks here! REM LOAD SUBHUNT BAS RESTORE $ l 170 DTREK REM REM line numbering breaks here! REM BAS H$R SWAP ALCATRAZBAS $$  FOUR BASz 7HORSE BAS SET  yMINEDOUTBAS OFF = 201 OTHELLO REM REM line numbering breaks here! REM BAS  9PILOT-32BAS. ($ea) U LINE | BOOT $($FF3F) 255 ($FF18) REM REM line numbering breaks here! REM h=  2 FN ($FF01) REM REM line numbering breaks here! REM k($FF01) j h($FF01) U LINE INl($fa) 4  k 2310 SUB BIN REM REM line numbering breaks here! REM ; NEXT READ NEXT READ NEXT READ NEXT READ NEXT READ NEXT READ NEXT READ NEXT READ NEXT READ NEXT ' (  B2 BIN  FN   B2 BAK FOR 129 BILDE REM REM line numbering breaks here! REM BIN2 LET  8 GO B1L1 66 IN RUN ($FF04) REM REM line numbering breaks here! REM  INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT INPUT RE ARE MANY OTHER COMMANDS THAT MAY BE USED, BUT IT IS FOR YOURSELF TO WORK OUT AS THE NEED ARISES:-AND IT WILL. " 1297 PRINT : PRINT " IF AT ANY TIME YOU WISH TO RE- VEIW THESE INSTRUCTIONS"," DURING YOUR ADVENTURE, TYPE 'INSTRUCTIONS' " 1299 IF Z=0 THEN PRINT : PRINT " PRESS ANY KEY TO START YOUR"," JOURNEY." 1301 IF Z=1 THEN PRINT : PRINT " PRESS ANY KEY TO CONTINUE ON YOUR JOURNEY." 1303 IF PEEK (337)<>255 THEN 1303 1305 IF PEEK (337)=255 THEN 1305 1307 IF Z=0 THEN CLS : RETURN 1309 IF Z=1 THEN CLS : GO TO 35 1311 END 1313 CLS 1315 PRINT @236,"GOODBYE" 1317 PRINT @(336-( LEN (H$)/2)),H$ 1319 PLAY "T6O3;CCO2GGAAGGGGBBO3CCC" 1321 CLS 0: FOR I=1 TO 1000: NEXT I 1323 PRINT @288," PRESS 'ENTER' FOR ANOTHER GAME OR ANY OTHER KEY TO END" 1325 ZZ$= INKEY$ : IF ZZ$="" THEN 1325 : ELSE IF ZZ$= CHR$ (13) THEN RUN : ELSE END REM REM line numbering breaks here! REM       UEUEEYUV FOR       2 UEUEEYUV LINE LINE LINE LINE LINE LINE LINE LINE LINE LINE LINE LINE LINE LINE LINE LINE LINE LINE LINE LINE LINE LINE LINE REM REM ************************************************* REM * Dragon file header detected: * REM * Start: $2401 Length: $0527 Exec: $8b8d * REM *(Start: 09217 Length: 01319 Exec: 35725) * REM ************************************************* REM 1 :'rekord program 5 CLS 10 PRINT "MENY" 20 PRINT "1.LEGGE INN REKORDER" 30 PRINT "2.SLETTE REKORDER" 40 PRINT "3.LISTE REKORDER" 50 PRINT "4.avslutte programmet" 60 PRINT "HVILKEN POST"; 70 P$= INKEY$ : IF P$="" THEN 70 80 P= VAL (P$) 90 IF P<1 OR P>4 THEN 70 100 ON P GO SUB 1000,2000,3000,4000 110 GO TO 5 1000 :'legge inn rekorder 1010 CLS 1020 PRINT I;"LUNAR ROVER PATROL" 1030 PRINT I;"2.CRUSADER" 1040 PRINT I;"3.DROIDS" 1050 PRINT I;"4.THE RING OF DARKNESS" 1060 PRINT I;"5.DRAGON TREK" 1070 PRINT I;"6.STORM ARROWS" 1080 PRINT I;"7.BACK TRACK" 1090 PRINT I;"8.SHENANIGANS" 1100 PRINT I;"9.THE KING" 1110 PRINT I;"10.GRABBER" 1120 PRINT I;"11.MANIC MINER" 1130 PRINT I;"12.DEMON SEED" 1140 PRINT I;"13.TOUCHSTONE" 1150 PRINT I;"14.DOWNLAND" 1160 PRINT I;"15.TIME BANDIT" 1170 PRINT I;"16.CASHMAN" 1180 PRINT I;"17.HUNCHBACK" 1190 PRINT I;"18.WHIRLYBIRD RUN" 1200 PRINT I;"19.PEDRO" 1210 PRINT I;"20.INVADER REVENGE" 1220 PRINT I;"21.PLANET INVASION" 1230 PRINT I;"22.NINJA" 1240 PRINT I;"23.ATHLETYX" 1250 PRINT I;"24.HUNGRY HORACE" 1260 PRINT I;"25.MUDPIES" 1270 PRINT I;"26.DEFENSE" 1280 PRINT I;"27.ENO" 1290 PRINT I;"28.WORLD OF FLIGHT" 1300 PRINT I;"29.BUZZARD BAIT" 1310 PRINT I;"30.EVEREST" 1320 PRINT I;"31.SUBHUNT" 1330 PRINT I;"32.ALCATRAZ" 1340 PRINT I;"33.ROW OF FOUR" 1350 PRINT I;"34.HORCE RACE" 1360 PRINT I;"35.MINEDOUT" 1370 PRINT I;"36.OTHELLO" 1380 S1$= INKEY$ : IF S1$="" THEN 1380 1390 PRINT S1$; 1400 S2$= INKEY$ : IF S2$="" THEN 1400 1410 PRINT S2$ 1420 S1= VAL (S1$) 1430 S2= VAL (S2$) 1440 IF S1<1 OR S1>3 THEN 1380 1450 IF S1=3 AND S2>6 THEN 1380 1460 S1=S1*10 1470 S=S1+S2 1480 IF S<1 OR S>36 THEN 1380 1490 RETURN 1500 CLS REM REM line numbering breaks here! REM ATE DIRECTION (EXAMPLE, N=NORTH)": GO TO 330 390 IF LEFT$ (B$,3)<>"INV" THEN 450 400 PRINT "YOU ARE CARRYING:":I=0 410 FOR J=1 TO E 420 IF A(J)=-1 THEN PRINT B$(J):I=1 430 NEXT : IF I=0 THEN PRINT "NOTHING" 440 GO TO 330 450 IF LEN (B$)=1 THEN 640 460 IF B$="HELP" THEN 710 470 K= INSTR (B$, CHR$ (32)): IF K=0 THEN PRINT "TRY USING TWO WORD COMMANDS.": GO TO 330 480 E$= LEFT$ (B$,K-1):G$= MID$ (B$,K+1) 490 D$= LEFT$ (E$,3):F$= LEFT$ (G$,3) 500 IF D$="TAK" THEN D$="GET" 510 IF D$="LEA" THEN D$="DRO" 520 IF D$="LOO" THEN D$="EXA" 530 IF D$="MOV" THEN D$="PUS" 540 IF D$="TEA" THEN D$="BRE" 550 IF D$="TUR" THEN D$="CHA" 560 L=( INSTR (C$,D$)+2)/3: IF L<1 THEN CLS : PRINT "SORRY, I JUST DON'T KNOW HOW TO": PRINT E$" ANYTHING.": GO TO 210 570 M=( INSTR (H$,F$)+2)/3: IF M<1 THEN CLS : PRINT "SORRY, YOU JUST DON'T SEE ANY ": PRINT G$" HERE.": GO TO 210 580 IF M=18 AND F=15 THEN M=25 590 IF M=18 AND F=13 THEN M=23 600 IF M=14 AND F=11 THEN M=19 610 IF M=14 AND F=15 THEN M=26 620 IF M=20 AND F=15 THEN M=27 630 IF LEN (B$)>1 THEN 760 640 L=0: CLS : IF B$="N" AND B(F,1)<>0 THEN F=B(F,1): GO TO 210 650 IF B$="S" AND B(F,2)<>0 THEN F=B(F,2): GO TO 210 660 IF B$="E" AND B(F,3)<>0 THEN F=B(F,3): GO TO 210 670 IF B$="W" AND B(F,4)<>0 THEN F=B(F,4): GO TO 210 680 IF B$="U" AND B(F,5)<>0 THEN F=B(F,5): GO TO 210 690 IF B$="D" AND B(F,6)<>0 THEN F=B(F,6): GO TO 210 700 GO TO 760 710 O=O+1 720 IF O=>6 THEN PRINT "THAT'S ENOUGH HELP FOR YOU. YOU CAN'T CALL FOR HELP EVERY TIME YOU ARE PUZZLED.": GO TO 330 730 IF O=1 THEN PRINT "CURIOSITY KILLED THE CAT.": GO TO 330 740 IF F=5 THEN PRINT "TOO MUCH TV IS NOT GOOD FOR YOU.": GO TO 330 750 PRINT "I'M SO CONFUSED!!!": GO TO 330 760 I=0: IF A(M)=F THEN I=1: ELSE IF A(M)=-1 THEN I=2 770 ON L GO TO 800,910,940,1070,1140,1450,1490,1540,1570,1630 780 IF LEN (B$)=1 THEN PRINT "YOU CAN'T GO THAT WAY!": GO TO 210 790 PRINT "I DON'T UNDERSTAND WHAT YOU ARE TELLING ME.": GO TO 330 800 :' 810 IF I=2 THEN PRINT "YOU ALREADY HAVE IT!": GO TO 330 820 IF I=0 THEN PRINT "YOU DON'T SEE IT HERE.": GO TO 330 830 IF B=>A THEN PRINT "YOU CAN'T CARRY ANYTHING ELSE!": GO TO 330 840 IF M=7 THEN CLS : PRINT "C O N G R A T U L A T I O N S ! YOU ARE NOW A MILLIONAIRE!!!!!!!DON'T SPEND IT ALL IN ONE PLACE!": GO TO 2190 850 IF M=4 OR M=6 OR M=10 OR M=11 OR M=14 OR M=16 OR M=17 OR M=18 OR M=19 OR M=20 OR M=22 OR M=23 OR M=25 OR M=26 OR M=27 THEN PRINT "YOU CAN'T TAKE IT.": GO TO 330 860 IF M=5 THEN A(6)=2 870 IF M=8 OR M=9 THEN GO TO 2130 880 IF M=1 THEN A(2)=1 890 IF M=2 THEN A(3)=1 900 A(M)=-1: PRINT "OK, YOU HAVE IT":B=B+1: GO TO 330 910 :' 920 IF I=2 THEN PRINT "OK, YOU DROPPED IT.":B=B-1:A(M)=F:: ELSE PRINT "YOU DON'T HAVE IT!" 930 GO TO 330 940 :' 950 IF I=0 THEN PRINT "YOU DON'T SEE IT HERE.": GO TO 330 960 IF M=8 OR M=9 THEN 2130 970 IF M=6 THEN 2150 980 IF M=10 THEN 2140 990 IF M=16 THEN A(17)=F: IF C(3)<>1 THEN C(3)=1: PRINT "OK, THEY'RE OPEN": GO TO 330:: ELSE IF M=16 THEN PRINT "THEY ARE ALREADY OPEN": GO TO 330 1000 IF M=20 THEN A(21)=F: IF M=20 AND C(2)=1 THEN PRINT "THEY ARE ALREADY OPEN": GO TO 330 1010 IF M=20 AND C(2)=0 THEN PRINT "OK, THEY'RE OPEN":C(2)=1: GO TO 330 1020 IF M=24 AND C(1)=0 THEN C(1)=1: GO TO 1060 1030 IF M=24 AND C(1)<>0 THEN PRINT "IT'S ALREADY OPEN": GO TO 330 1040 IF M=27 THEN 2160 1050 PRINT "SORRY, IT DOES NOT OPEN.": GO TO 330 1060 PRINT "OK, IT'S OPEN": GO TO 330 1070 :' 1080 IF I=0 THEN PRINT "YOU CAN'T CLOSE ANYTHING THAT YOU CAN'T SEE OR REM REM ************************************************* REM * Dragon file header detected: * REM * Start: $1801 Length: $132e Exec: $8b8d * REM *(Start: 06145 Length: 04910 Exec: 35725) * REM ************************************************* REM 5 REM MON 5 JUL 10 AM 10 CLS : FOR N= 0 TO 144 STEP 36 20 PRINT @ 163+N,"row of four": NEXT : REM title 30 FOR N= 1 TO 4000: NEXT 40 CLS : PRINT @ 163,"DO YOU WANT INSTRUCTIONS " 50 PRINT @ 227,"YES OR NO ";: INPUT AN$ 60 IF AN$="YES" OR ANS$="Y" THEN GO SUB 2000 100 CLS : GO SUB 1410 : REM set up board 110 FOR N= 0 TO 7 : FOR M= 0 TO 6: A(N,M)=0: NEXT M: NEXT N : REM clear array showing board places full 120 IF GAME>0 THEN 170 : REM if not first game don't ask for players names 130 PRINT @ 384, "WHO IS PLAYER ONE ";: INPUT N$ 140 PRINT @ 416, "WHO IS PLAYER TWO ";: INPUT M$ 150 PRINT @ 384,N$ " YOUR COLOUR IS MAGENTA ": PRINT @ 416 ,M$;" YOUR COLOUR IS ORANGE " 160 FOR D= 1 TO 1500: NEXT : REM delay to allow reading of text 170 PRINT @384,"": PRINT @416,"" 200 REM main game routine 210 PRINT @384,"": PRINT @ 416,"": PRINT @ 384, " 1 2 3 4 5 6 7" 220 Q$= INKEY$ : PRINT @ 448,"": PLAY "T4;O4;L4;C;L8;C" : REM clear keyboard strobe and sound the next move 230 PRINT @ 448,"YOUR MOVE ";N$;:A$= INKEY$ : IF A$="" THEN GO TO 230: ELSE A= VAL (A$): PRINT A:A$="" 240 IF A>0 AND A<8 THEN GO TO 330 : ELSE PRINT @ 384, " columns 1 to 7 only please.": FOR D=1 TO 500: NEXT : PRINT @ 448,"": GO TO 210 250 PRINT @384,"": PRINT @ 416,"": PRINT @ 384," 1 2 3 4 5 6 7" 260 Q$= INKEY$ : PRINT @ 448,"": PLAY "T4;O4;L4;A;L8;A" 270 PRINT @ 448, "YOUR MOVE ";M$;:A$= INKEY$ : IF A$="" THEN GO TO 270 : ELSE A= VAL (A$): PRINT A:A$="" 280 IF A>0 AND A<8 THEN GO TO 340 : ELSE PRINT @384, " columns 1 to 7 only please.": FOR D= 1 TO 1000: NEXT : PRINT @448,"": GO TO 250 290 PRINT @ 448,"": PRINT @448," column is full!!": PLAY "T2;O3;CGE" 300 FOR D= 1 TO 1000: NEXT : GO TO 250 : REM delay then get next move 310 PRINT @ 448,"": PRINT @448,"column is full!!!": PLAY "T2;O3;CGE" 320 FOR D= 1 TO 1200: NEXT : GO TO 210 330 B=224:J=1: GO TO 370 : REM set colour and player variables then move counter down screen 340 B=240:J=0: GO TO 370 : REM other player 350 IF J= 1 THEN 310 360 GO TO 290 370 Q= (A-1)*4 +3:W=0:Z=W:V=1 : REM set Q as true column position - set W/Z top row - set V top row for array purposes 380 IF POINT (2*Q,W/16+1)<>1 THEN 350 : REM check if column is empty 390 POKE 1024+Q+W,B+7: POKE 1025+Q+W,B+11: POKE 1056+Q+W,B+4: POKE 1057+Q+W,B+8 : REM use pokes into screen buffer to stop clearing to end of line 400 PLAY "T100;O4;C" 410 W=W+64: IF POINT (2*Q,W/16+1)<>1 THEN 450 : REM if can go no further check for a winner 420 POKE 1024+Q+Z,143: POKE 1025+Q+Z,143: POKE 1056+Q+Z,140: POKE 1057+Q+Z,140:Z=Z+64 430 IF J= 1 THEN B=224 : ELSE B=240 : REM make colour correct for each player 440 V=V+1: GO TO 380 : REM increase row number then goto see if next position full 450 A(V,A)=J+5 : REM mark array so that square filled 460 GO SUB 600 : REM do check 470 GO SUB 1100 : REM see if any more moves possible 480 A$="":A= VAL (A$): IF J=1 THEN 250 490 GO TO 210 600 REM checking routine 610 PRINT @ 384," i am checking for a winner ": PRINT @448,"" 620 REM vertical check 630 H=1:U=1 640 FOR N= 0 TO 5: FOR T=0 TO 3 650 X=A(H,U)+A(H,U+1)+A(H,U+2)+A(H,U+3) 660 IF X = 20 OR X= 24 THEN 1250 : REM winner found 670 U=U+1 680 NEXT T 690 H=H+1:L=1:U=L:L=L+L 700 NEXT N 710 H=1:U=1 800 REM horizontal check 810 FOR N=0 TO 6: FOR T = 0 TO 2 820 X= A(H,U)+A(H+1,U)+A(H+2,U)+A(H+3,U) 830 IF X=20 OR X= 24 THEN 1250 : REM winner found 840 H=H+1: NEXT T 850 H=1:U=U+1: NEXT N 900 REM diagonal check 910 H=4:U=1 920 FOR N= 0 TO 2: FOR T=0 TO 3 930 X=A(H,U)+A(H-1,U+1)+A(H-2,U+2)+A(H-3,U+3) 940 IF X=20 OR X=24 THEN 1250 : REM winner found 950 U=U+1: NEXT T 960 U=1:H=H+1 970 NEXT N 1000 REM other diagonal check 1010 H=4:U=7 1020 FOR N=0 TO 2: FOR T = 0 TO 3 1030 X=A(H,U)+A(H-1,U-1)+A(H-2,U-2)+A(H-3,U-3) 1040 IF X=20 OR X=24 THEN 1250 : REM winner found 1050 U=U-1: NEXT T 1060 U=7:H=H+1: NEXT N 1100 REM check top to see if any more moves possible 1110 FOR T= 1 TO 7 1120 IF A(1,T)=0 THEN 1150 1130 NEXT T 1140 GO TO 1200 : REM no more moves possible 1150 RETURN : REM not full yet so carry on 1200 PRINT @ 384,"": PRINT @ 416," tied game": FOR Y= 1 TO 3000: NEXT 1210 FOR Y= 0 TO 2: PRINT @384+32*Y,"": NEXT 1220 PRINT @384,"DO YOU WANT TO PLAY AGAIN ";: INPUT AN$: IF AN$="Y" OR AN$="YES" THEN GAME=GAME+1: GO TO 100 1230 CLS : PRINT @163,"THANKS FOR PLAYING" 1240 END 1250 FOR Y= 1 TO 4 : PRINT @384+3*Y,"": NEXT 1260 IF X =24 THEN WIN$= N$ : ELSE WIN$ =M$ 1270 PRINT @ 416, WIN$; " IS THE WINNER !!" 1300 D=1: FOR F=120 TO 184 STEP 4: SOUND F,D : NEXT : FOR Y= 1 TO 3000: NEXT : GO TO 1210 1400 REM set up screen for new game 1410 FOR R= 0 TO 383: PRINT @R, CHR$ (128): NEXT : REM black out screen leaving bottom for text 1420 REM now put in squares using graphics characters 1430 FOR M= 0 TO 320 STEP 64: FOR N = 3 TO 27 STEP 4: PRINT @ (M+N), CHR$ (143); CHR$ (143); CHR$ (128); CHR$ (128) 1440 PRINT @ (M+N+32), CHR$ (140); CHR$ (140); CHR$ (128); CHR$ (128) 1450 NEXT 1460 PRINT @ (M+ 30), CHR$ (128) ; CHR$ (128); 1470 PRINT @ (M+62), CHR$ (128); CHR$ (128); 1480 NEXT 1490 PRINT @ 384,"";: PRINT 1500 RETURN 2000 CLS : PRINT @ 10,"row of four" 2010 REM instructions 2020 PRINT "ROW OF FOUR IS A GAME FOR TWO PLAYERS, EACH OF WHICH IS TRYINGTO MAKE A row of four" 2030 PRINT : PRINT "THE ROW OF FOUR CAN BE EITHER VERTICAL, HORIZONTAL, OR DIAGONAL." 2040 PRINT : PRINT "THE BOARD IS A 6 SQUARES HIGH AND 7 ACROSS. UNDERNEATH EACH COLUMN IS THE NUMBER YOU SHOULD CALL TO SET YOUR PIECE ROLLING " 2050 PRINT "DOWN THAT COLUMN." 2060 PRINT @ 448,"press the space bar to go on.": IF INKEY$ = CHR$ (32) THEN 2070 : ELSE 2060 2070 CLS : PRINT "IT WILL KEEP ON GOING UNTIL IT EITHER REACHES THE BOTTOM OR THETOPMOST EMPTY SPACE." 2080 PRINT : PRINT "YOU MUST STOP YOUR OPPONENT FROMMAKING A ROW OF FOUR WHILST TRYING TO MAKE YOUR OWN ROW." 2090 PRINT @ 416,"press space bar to start": IF INKEY$ = CHR$ (32) THEN RETURN : ELSE 2090 REM REM line numbering breaks here! REM FROM DON'T HAVE.": GO TO 330 1090 IF M=20 AND C(2)=1 THEN PRINT "OK, THEY'RE CLOSED.": GO TO 330:: ELSE IF M=20 THEN PRINT "THEY'RE ALREADY CLOSED": GO TO 330 1100 IF M=24 AND C(1)=1 THEN PRINT "OK, IT'S CLOSED.": GO TO 330:: ELSE IF M=24 THEN PRINT "IT'S ALREADY CLOSED": GO TO 330 1110 IF M=16 AND C(3)=0 THEN PRINT "THEY'RE ALREADY CLOSED": GO TO 330 1120 IF M=16 AND C(3)=1 THEN PRINT "OK, THEY'RE CLOSED.":C(3)=0:A(17)=0: GO TO 330 1130 PRINT "YOU TRIED, BUT IT DOESN'T CLOSE.": GO TO 330 1140 :' 1150 IF I=0 THEN PRINT "YOU DON'T SEE ANYTHING LIKE THATAROUND HERE.": GO TO 330 1160 IF M=1 THEN PRINT "IT IS A PERSIAN RUG.": GO TO 330 1170 IF M=2 THEN PRINT "LOOSE": GO TO 330 1180 IF M=3 THEN PRINT "IT STINKS. THERE IS THE REMAINS OF A GOLD-FISH IN THE CATS MOUTH";:A(28)=F: GO TO 330 1190 IF M=4 THEN PRINT "PINK": GO TO 330 1200 IF M=5 THEN PRINT "PICTURE OF A BLACK CAT.": GO TO 330 1210 IF M=6 THEN PRINT "IT'S LOCKED.": GO TO 330 1220 IF M=7 THEN PRINT "GREEN": GO TO 330 1230 IF M=8 THEN PRINT "THERE ARE 29 GOLDFISH IN HERE.":A(9)=4: GO TO 330 1240 IF M=9 THEN PRINT "SWIMMING": GO TO 330 1250 IF M=10 THEN PRINT "THE TV IS ON. IT'S TUNED TO CHANNEL 11 WHICH IS PLAYING 'ALIEN'.": GO TO 330 1260 IF M=11 THEN PRINT "IT CLASHES WITH THE CURTAINS.":A(12)=7: GO TO 330 1270 IF M=12 THEN PRINT "THERE IS A MAGAZINE UNDER IT.":A(13)=7: GO TO 330 1280 IF M=13 THEN PRINT "IT'S A SCIENCE FICTION MAGAZINE.": GO TO 330 1290 IF M=14 THEN PRINT "IT HAS A BURNED OUT BULB.":A(15)=8: GO TO 330 1300 IF M=15 THEN PRINT "*MADE IN POLAND*": GO TO 330 1310 IF M=16 THEN PRINT "GOLD, PURPLE, ORANGE, AND PINK": GO TO 330 1320 IF M=17 THEN PRINT "THERE GOES THE MAILMAN": GO TO 330 1330 IF M=18 THEN PRINT "IT HAS 2 DOORS.":A(20)=11: GO TO 330 1340 IF M=19 THEN PRINT "ELECTRIC": GO TO 330 1350 IF M=24HC(2)>0 THEN PRINT THEY'RE CLOSDD."* GO TO 330 1360 IF M=21 THEN PRINT "P.U.!!!! THEY STINK!!": GO TO 330 1370 IF M=22 THEN PRINT "CLASHES WITH THE RUG.": GO TO 330 1380 IF M=23 THEN PRINT "BROWN":A(24)=13: GO TO 330 1390 IF M=24 THEN PRINT "'THE CAT WITH 9 LIVES'": GO TO 330 1400 IF M=25 THEN PRINT "IT HAS 2 DOORS.":A(27)=15: GO TO 330 1410 IF M=26 THEN PRINT "ELECTRIC": GO TO 330 1420 IF M=27 THEN PRINT "THEY'RE CLOSED.": GO TO 330 1430 IF M=28 THEN PRINT "IT STINKS. NOT MUCH REMAINS OF 1": GO TO 330 1440 PRINT "NOTHING SPECIAL ABOUT IT.": GO TO 330 1450 :' 1460 IF M=8 THEN 2130 1470 IF M=10 THEN 2140 1480 PRINT "NOTHING HAPPENED.": GO TO 330 1490 :' 1500 IF I=0 THEN PRINT "NOTHING LIKE THAT AROUND HERE THAT YOU CAN BREAK.": GO TO 330 1510 IF M=8 THEN 2130 1520 IF M=10 THEN 2140 1530 PRINT "YOU TRIED, BUT COULDN'T BREAK IT": GO TO 330 1540 :' 1550 IF I=0 THEN PRINT "YOU DON'T SEE ANYTHING LIKE THATAROUND HERE.": GO TO 330 1560 PRINT "YOU TRIED TO ENTER, BU COULDN'T.": GO TO 330 1570 :' 1580 IF I=0 THEN PRINT "YOU DON'T SEE IT HERE.": GO TO 330 1590 IF M=13 THEN PRINT "TITLE:'THE CAT EATING FISH FROM OUTER SPACE'": GO TO 330 1600 IF M=24 AND C(1)=1 THEN PRINT "TO MY BELOVED CAT 'ENO' ON HIS NINTH LIFE.": GO TO 330 1610 IF M=24 AND C(1)=0 THEN PRINT "OPEN BEFORE READING": GO TO 330 1620 PRINT "NOTHING IMPORTANT.": GO TO 330 1630 IF M=10 THEN 2140: ELSE PRINT "YOU CAN'T TURN IT": GO TO 330 1640 DATA NORTH,SOUTH,EAST,WEST,UP,DOWN 1650 DATA IN THE LIVING ROOM,2,9,6,13,0,0 1660 DATA BY A LOVE SEAT,0,1,3,14,0,0 1670 DATA IN THE LIVING ROOM,0,6,4,2,0,0 1680 DATA BY A LARGE FISH TANK,0,5,0,3,0,0 1690 DATA BY A TV,4,7,0,6,0,0 1700 DATA IN THE LIVING ROOM,3,8,5,1,0,0 1710 DATA BY A STUFFED CHAIR,5,0,0,8,0,0 1720 DATA BY A FLOOR LAMP,6,0,7,9,0,0 1730 DATA BY THE CURTAINS,1,0,8,10,0,0 1740 DATA IN THE LIVING ROOM,13,0,9,11,0,0 1750 DATA BY AN END TABLE,12,0,10,0,0,0 1760 DATA BY A SOFA,15,11,13,0,0,0 1770 DATA BY A COFFEE TABLE,14,10,1,12,0,0 1780 DATA IN THE LIVING ROOM,0,13,2,15,0,0 1790 DATA BY AN END TABLE,0,12,14,0,0,0 1800 DATA END 1810 DATA AN OVAL RUG,RUG,1 1820 DATA A LOOSE BOARD,BOA,0 1830 DATA A DEAD CAT,CAT,0 1840 DATA A LOVE SEAT,SEA,2 1850 DATA A PICTURE,PIC,2 1860 DATA A SAFE,SAF,0 1870 DATA 1 MILLION BUCKS,BUC,0 1880 DATA A LARGE FISH TANK,TAN,4 1890 DATA 29 FISH,FIS,0 1900 DATA A CONSOLE TV SET,TV ,5 1910 DATA A STUFFED CHAIR,CHA,7 1920 DATA A CHAIR CUSHION,CUS,0 1930 DATA A MAGAZINE,MAG,0 1940 DATA A FLOOR LAMP,LAM,8 1950 DATA A BURNED OUT BULB,BUL,0 1960 DATA CURTAINS,CUR,9 1970 DATA A PICTURE WINDOW,WIN,0 1980 DATA AN END TABLE,TAB,11 1990 DATA A TABLE LAMP,LAM,11 2000 DATA END TABLE DOORS,DOO,0 2010 DATA A PAIR OF NURSE SHOES,SHO,0 2020 DATA A SOFA,SOF,12 2030 DATA A COFFEE TABLE,TAB,13 2040 DATA A BOOK,BOO,0 2050 DATA AN END TABLE,TAB,15 2060 DATA A TABLE LAMP,LAM,15 2070 DATA END TABLE DOORS,DOO,0 2080 DATA REMAINS OF A GOLD-FISH,REM,0 2090 DATA END 2100 DATA GET,DROP,OPEN,CLOSE,EXAMINE,PUSH,BREAK,ENTER,READ,CHANGE 2110 DATA END 2120 GO TO 330 2130 CLS : PRINT "YOU HAVE JUST BROKEN THE TANK.": PRINT "IT FLOODED THE LIVING ROOM AND YOU HAVE DROWNED. WE TOLD YOU ITWAS A <> FISH TANK!!!!!!!": PRINT "NEXT TIME LISTEN TO WHAT WE SAY!": GO TO 2190 2140 CLS : PRINT "THE TV SET JUST SHORT-CIRCUITED AND ELECTROCUTED YOU. YOUR SPOUSE WILL GET THE MONEY NOW!!!";: GO TO 2190 2150 CLS : INPUT "FIRST NUMBER OF THE COMBINATION:";C: IF C<>1 THEN 2220: ELSE CLS : INPUT "2ND NUMBER OF COMBINATION:";C: IF C<>30 THEN 2220: ELSE CLS : INPUT "3RD NUMBER OF COMB REM REM ************************************************* REM * Dragon file header detected: * REM * Start: $1801 Length: $1d70 Exec: $8b8d * REM *(Start: 06145 Length: 07536 Exec: 35725) * REM ************************************************* REM 10 CLEAR 1000 : GO TO 30: REM set up string space - skip subroutine 20 PRINT @384,"": PRINT @400,"": PRINT @416,"": RETURN : REM sub to clear space without scrolling 30 GO SUB 2010 : REM initialise routines at the end out of the way 40 C$="WE" : REM string to look at win/each way input 60 FOR I = 1 TO 8: W(I) =500 : NEXT I : REM money allocation to each player 100 CLS : PRINT @ 139,"horse race": ZA= RND ( RND (255)):ZA= RND ( RND (ZA)) 110 PRINT @ 224,"DO YOU WANT INSTRUCTIONS (Y/N)?" : INPUT ANS$ 120 IF ANS$<> "Y" AND ANS$<>"N" THEN 100 130 IF ANS$="Y" THEN GO SUB 3010 140 CLS : PRINT "WELCOME TO THE RACES ": PRINT @ 131,"HOW MANY PLAYERS ARE THERE?": INPUT P: IF P>8 OR P<1 THEN 140 150 IF P = 1 THEN PRINT : PRINT "WHAT IS YOUR NAME ";: INPUT P$(1): GO TO 300 : REM if only one player different routine for many 160 PRINT : PRINT "TYPE IN THE NAME OF :-" : REM get players names checking no duplication 170 FOR N = 1 TO P 180 PRINT "PLAYER ";N; " ";: INPUT P$(N): IF N= 1 THEN 210 190 FOR J= 1 TO N-1: IF P$(N) = P$(J) THEN PRINT "there is someone else with that name.": GO TO 180 200 NEXT J 210 NEXT N 300 CLS :T=0:Z=0: POP = 0 : REM zero flags for odds - winner - end of race 310 FOR N= 1 TO 8: Q(N) = RND (9)+1 : T = T + Q(N) : NEXT N: REM rework odds 320 FOR N = 1 TO 8 : H(N) = 48 : M(N) = 0 : WW(N) = 0 : NEXT N 330 FOR N = 1 TO 8 : Q (N) = INT (T /Q(N) ): NEXT 340 REM table of horses - then input 350 PRINT "HORSE" TAB( 8) "NUMBER" TAB(18) "WINS" TAB(25) "ODDS" 360 PRINT 370 FOR N= 1 TO 8: PRINT H$(N); TAB(10); N ; TAB(18); WI(N) ; TAB(25); 380 PRINT USING "##"; Q(N);: PRINT ":1": NEXT N 390 FOR N =1 TO P 400 PRINT : PRINT @ 352, P$(N) ;" YOU HAVE : $"; INT (W(N)): PRINT : PRINT 410 GO SUB 20: PRINT : PRINT @ 385,"WHICH HORSE DO YOU WANT TO BET ON (NUMBER 1 TO 8) ";: INPUT Q$: IF LEN (Q$)<>1 THEN 410 420 V= VAL (Q$): IF V<1 OR V>8 THEN 410 : ELSE B(N)=V : REM use inkey$ to get number - convert to number from string and check if in range 430 GO SUB 20 : REM clear space without scrolling table off top of screen 440 GO SUB 20: PRINT @ 385, "DO YOU WANT TO BET FOR A wIN,OReACH WAY (W/E) ";: INPUT A$ 450 FOR DE= 1 TO 2 : IF A$= MID$ (C$,DE,1) THEN DE(N)=DE: GO TO 470: REM check if input is wIN or eACH WAY by comparison with c$ - then convert to number 460 NEXT DE: GO TO 440 470 GO SUB 20 480 PRINT @ 385, "HOW MUCH DO YOU WANT TO BET ": INPUT M(N) 490 IF M(N) > 0 AND M(N) <10000 THEN 500 : ELSE PRINT @ 385, "you cannot bet that ": PRINT : GO TO 520 500 IF DE(N) = 1 THEN W(N) = W(N) - M(N) : ELSE W(N) = W(N) - 2 * M(N) : REM win costs one stake - each way costs same amount for win and place 510 IF W(N) >= 0 THEN 530 : ELSE PRINT @ 385, "you haven't got that much money": IF DE(N) = 1 THEN W(N) = W(N) + M(N) : ELSE W(N) = W(N) + 2* M(N) : REM if there isn't the money left put it back to allow another try 520 FOR QQ = 1 TO 3: PLAY "T9;O4CGCD": NEXT QQ : GO TO 480 : REM give audible warning 530 NEXT N 540 FOR N= 1 TO 8 : T(N) = 18: NEXT N 550 FOR N= P TO 1 STEP -1 : T(B(N)) = T(B(N)) -1 : NEXT N 600 PMODE 3,1: PCLS : SCREEN 1,1 : REM set up graphics for horse race 610 FOR N= 24 TO 152 STEP 16: LINE (20,N) -(220,N), PSET : NEXT N: REM horizontal lines 620 LINE (40,24)- (40,152), PSET : REM left end of horse box 630 LINE (220,24) - (220,152) , PSET : REM finish 640 LINE (20,24)-(20,152), PSET : REM leftmost line 650 LINE (69,24)-(69,152), PSET : REM starting posts 660 FOR N= 0 TO 7 : DRAW "BM48,"+ STR$ (23+N*16)+ COL$(N+1) + HOR$ : NEXT N : REM draw horses 670 FOR N= 0 TO 7 : DRAW "BM28," + STR$ (28 + N*16) + NUM$(N+1): NEXT N : REM put in numbers of horses 680 PLAY "T10O5G": REM drop starting gates 690 FOR N= 137 TO 24 STEP -16 700 LINE (69,N)-(69,N+14), PRESET 710 LINE (69,N+14)-(79,N), PSET 720 LINE (69,N+14)-(80,N+14), PSET 730 LINE (69,N+14)-(79,N), PRESET 740 NEXT N 800 REM randomised running of race 810 FOR N= 0 TO 6 : C(N+1)= 5 +N *15 : NEXT N 820 GO SUB 1510 : FOR E = 1 TO 8 : N = X(E) : D= RND (100) 830 IF H(N) = 0 THEN 900 840 FOR J= 1 TO 7 : IF D < Q(N) + C(J) THEN 860 850 NEXT J 860 FOR K = H(N) TO H(N) + J *8 STEP 4 : DRAW "BM"+ STR$ (K-4)+"," + STR$ (8 + N*16) + BL$: DRAW "BM"+ STR$ (K) + "," + STR$ (8 + N*16) + COL$(N)+HOR$ : PLAY "T90O5GP3CP3GP3CP3GP3C" 870 IF K >= 200 THEN H(N) = 200 : GO SUB 1330 : IF POP = 1 THEN 1010 : ELSE 900: REM check if horses are at finish 880 NEXT K 890 H(N) = H(N) + J* 8 900 NEXT E 910 L= 0 920 GO TO 820 : REM next jumps forward 1000 REM winners table 1010 CLS : PRINT : PRINT F1$: PRINT : PRINT F2$: PRINT : PRINT F3$ 1020 Q$= INKEY$ 1030 PRINT @ 416,"hit any key TO SEE FULL ORDER.": IF INKEY$ ="" THEN 1030 1040 CLS : PRINT "PLACE" TAB(7) "NUMBER" TAB(17) "HORSE" TAB(25) "ODDS" 1050 FOR N = 1 TO 8 : PRINT " ";N; TAB(8) ; Z(N); TAB(12);H$(Z(N)) ; TAB(25) ; 1060 PRINT USING "##";Q(Z(N));: PRINT ":1" 1070 NEXT N 1100 PRINT @416,"hit any key TO SEE YOUR WINNINGS": IF INKEY$ ="" THEN 1100 1110 CLS : REM work out winnin REM REM ************************************************* REM * Dragon file header detected: * REM * Start: $1801 Length: $3cc0 Exec: $8b8d * REM *(Start: 06145 Length: 15552 Exec: 35725) * REM ************************************************* REM 1 CLEAR 2700,29999: PCLEAR 2 2 LEVEL=1:MMINES=50:SC=0:HS=250:SC$=" 250":HS$="I&C" 3 DIM M(750),C(7),BS(7),BD(7),IN(50),DM(26) 4 FOR I=1 TO 7: READ C(I),BS(I),BD(I): NEXT 5 DATA 5,0,0,2,0,0,7,22,90,6,12,50,8,9,30,1,22,90,4,0,0 6 GO SUB 81 7 GO SUB 276: GO SUB 212 8 GO SUB 388 9 :'HI RES DUCK DRAW DATA 10 DATA 17,21,9,3,11,19,9,12,22,1,128,16,18,5,19,5,14,20,19,46,46,46 11 DATA 2,3,4,5,6,8,10,11,12,14,15,16,18,19,20,34,36,38,40,42,44,46,50,52,66,68,70,72,74,76,78,79,82,84 12 DATA 98,100,102,104,106,108,110,114,116,130,132,134,136,138,140,142,143,144,146,147,148 13 DATA 198,199,200,202,204,206,207,208,230,232,234,236,239,262,264,266,268,271,294,296,298,300,303,326,327,328,330,331,332,335 14 DATA 1,9,17,145,201,80,2,25,128,9,128,38,128,3,128,1,14,4,18,5,23 15 DATA 142,4,32,166,0,129,128,39,4,136,32,167,0,48,1,140,5,192,38,239,57 16 OK$="T145O1ABCDEFGO2ABCDEFGO3ABCDEFGO4ABCDEFGO5ABCDEFG" 17 G$="T250O4A1":BU$="T250O5GP1G" 18 BV$="T222O5CO1AC":XX$="T50O3D" 19 E2$="GAME OVER":E3$="game"+ CHR$ (128)+"over" 20 B$="T100O2E1" 21 QG$="O3T15CCADECCADEBADCFEDFG" 22 TY$="T250O5GO1AO5FO1BO5EO1CO5DO1DO5CO1EO5BO1FO5AO1GO4GO2AO4FO1BO4EO2CO4DO2DO4CO2EO4BO2FO4AO2GO3GAFBECDDCEBFAGO2GO4AO2FO4BO2EO4CO2DO4DO2CO4EO2BO4FO2AO4GO1GO5AO1FO5BO1EO5CO1DO5DO1CO5EO1BO5FO1AO5G" 23 PI$="T22O3CCEFO4C" 24 ZM=108:BL=1504:TL=1056:TR=1087 25 V1=1:V2=32:V3=25+10*LV:V4=128:V5=349:V6=1121:Q=30000 26 GO SUB 293 27 :'BONGO DRUM SOUND 28 Q$="T75O5GFEDCBAO4GFEDCBAO3GFEDCBAO2GFEDCBAO1GFEDCBA":A=LV 29 CL=143+16*(C(A)-1): POKE 30612,CL 30 QQ$="T75O1AAAAAAAAAAAAA" 31 SA=0:SB=0:J=175:F5=5 32 BL$= STRING$ (14,175)+ CHR$ (CL)+ STRING$ (15,175) 33 EXEC 30727 34 IF A=LV THEN GO SUB 40 35 DM=0:OM=0:O=0:M=1520:C=1 36 PR=16*(C(A)-1) 37 E1$= CHR$ (142+PR)+ STRING$ (22,140+PR)+ CHR$ (141+PR) 38 E4$= CHR$ (139+PR)+ STRING$ (22,131+PR)+ CHR$ (135+PR) 39 ON A GO TO 353,355,357,363,357,357,370 40 :'TAIL WAG 41 CLS (C(A)): PRINT @0," "; 42 FOR I=TL TO TR: POKE I,J 43 POKE I+32*14,J: NEXT 44 FOR I=TL TO BL STEP 32 45 POKE I,J: POKE I+31,J: NEXT 46 FOR N=1 TO 2 47 POKE 1518+N,CL 48 POKE 1024+46+N,CL 49 NEXT : RETURN 50 :'AUTO REPEAT KEY FACILITY 51 IF A=4 THEN PRINT @225,BL$;: POKE 1024+225+14,175: PRINT @0," TAKE CARE ";: GO SUB 66: GO SUB 422 52 PLAY PI$: IF A=4 THEN GO SUB 436 53 PRINT @0," GO... ";: PLAY PI$ 54 POKE 135,255 55 G=-G:M=M+G: POKE M,79: POKE M-G,CL 56 IF A=4 THEN GO SUB 436: FOR N=1 TO 200: NEXT 57 FOR N=1 TO 20:AS= PEEK (135): IF AS<>255 THEN 58: ELSE NEXT : GO TO 55 58 TIMER =0:SB=0:RS=M 59 RETURN 60 :'MINE DEFUSER SUBROUTINE 61 PRINT @0," SAFE AREAS "; 62 S1$="safe":S1=1486:S2=1102:S3=60:S4=62 63 FOR N=1 TO 2: PRINT @78,S1$;: PRINT @462,S1$;: PLAY BV$: FOR I=1 TO 13 64 POKE S1-I,S3: POKE S1+3+I,S4: POKE S2-I,S3: POKE S2+3+I,S4: TROFF 65 PLAY BV$+BV$: NEXT :S1$= STRING$ (4,CL):S3=CL:S4=CL: NEXT : RETURN 66 :'SPELLING IN LISTING CHECK 67 S1$="safe":S1=1230:S3=60:S4=62 68 FOR B=1 TO 2: PRINT @206,S1$;: PLAY BV$: FOR I=1 TO 13 69 POKE S1-I,S3: POKE S1+3+I,S4: PLAY BV$+BV$: NEXT 70 S1$= STRING$ (4,CL):S3=CL:S4=CL: NEXT : RETURN 71 :'ACTIVATE LAZER 72 IF LE<>1 THEN 435 73 PRINT @0," MINE LAYING... ";: GO SUB 177 74 G=1 75 FOR N=1 TO V3 76 X= RND (V5)+V6 77 IF X/V2= INT (X/V2) THEN 80 78 IF (X+V1)/V2= INT ((X+V1)/V2) THEN 80 79 POKE X+Q,V4: PLAY G$ 80 NEXT : POKE 31281,V4: POKE 31310,V4: POKE 31359,V4: POKE 31360,V4: RETURN 81 :'HELLO 82 CLS 0: PRINT @11,"test"+ CHR$ (128)+ CHR$ (128)+"card"; 83 PRINT @69,"ADJUST YOUR TV SO THAT";: PRINT @102,"COLOURS ARE CORRECT."; 84 FOR I=0 TO 7 85 TC$= STRING$ (20,143+16*I) 86 PRINT @166+32*I,TC$; 87 NEXT 88 GO SUB 376 89 RETURN 90 :'FLASH SCREEN 91 GO SUB 98 92 GO SUB 102 93 GO SUB 106 94 FOR N=1 TO 100: NEXT 95 GO SUB 102 96 GO SUB 106 97 GO TO 110 98 P7=12 99 AD=30000 100 POKE AD+17,117: POKE AD+18,148: POKE AD+20,4: POKE AD+21,0: POKE AD+31,6: POKE AD+32,0: EXEC 30015 101 RETURN 102 :'ALL TIME HIGH SCORE 5835 BY MUMMY 103 FOR I=1 TO 8: POKE AD+1,150: EXEC 30000: PLAY G$ 104 POKE AD+1,249: EXEC 30000: PLAY G$: NEXT 105 RETURN 106 :'ANTI TAMPER DEVICE 107 AD=30000 108 POKE AD+17,4: POKE AD+18,0: POKE AD+20,117: POKE AD+21,148: POKE AD+31,119: POKE AD+32,148: EXEC 30015 109 RETURN 110 FOR N=50 TO 30 STEP -2: POKE M,79: SOUND N+3,1: POKE M,24: SOUND N,1: NEXT 111 FOR N=1 TO 150: NEXT : RETURN 112 P7=1 113 F1$= STRING$ (30,CL):F2$= STRING$ (2,CL) 114 :'USER DEFINABLE GRAPHICS 115 IF A=7 THEN GO SUB 448: RETURN 116 PRINT @47,F2$;: FOR N=1 TO 13: PRINT @33+32*N,F1$;: NEXT : PRINT @495,F2$;: RETURN 117 :'DON'T EAT YELLOW SNOW 118 PLAY Q$: EXEC 30700: PLAY QQ$ 119 FOR N=1 TO 300: NEXT : RETURN 120 P7=2 121 PRINT @0," ACTION REPLAY "; 122 OK=80:M=RS: POKE M,79 123 :'ACTION ! REPLAY 124 IF CL<>143+16*(C(A)-1) THEN 435 125 POKE 135,255 126 FOR N=1 TO C-1 127 IF N=10 AND A>1 THEN PRINT @0," S=SPEED E=END "; 128 POKE M,143:M=M+M(N) 129 POKE M,79: SOUND (1+N*205/C),1 130 AS= PEEK (135): IF AS=69 THEN RETURN 131 IF AS=83 THEN OK=1 132 FOR I=1 TO OK: NEXT 133 NEXT : RETURN 134 :'I.ANDREW (CARDS) FOR PHQ'S 135 GO SUB 98 136 FOR U=1 TO 4: FOR I=0 TO 8: PLAY "T200O4A": FOR N=1 TO 30: NEXT : CLS I: PRINT @231,"A NEW HIGH SCORE !";: NEXT I,U 137 GO SUB 106 138 PLAY QG$ 139 PRINT @0," ENTER YOUR INITIALS NOW! "; 140 HS$=" ":SC$= STR$ (SC): GO SUB 151 141 HS$="" 142 FOR I=1 TO 3: POKE 135,255 143 AS= PEEK (135): IF AS=255 THEN 143 144 IF AS<32 OR AS>90 THEN 143 145 PRINT @405+I, CHR$ (AS);: PLAY BU$ 146 HS$=HS$+ CHR$ (AS) 147 NEXT 148 PRINT @0," GAME OVER ";: GO SUB 177: PLAY QG$ 149 HS=SC 150 RETURN 151 :'BACKGROUND MUSIC (AUDIO ON)LIST1400- 152 IF LEN (SC$)<6 THEN FOR I=1 TO 6- LEN (SC$):SC$=SC$+ CHR$ (143): NEXT 153 PRINT @356,E1$;: PRINT @388, CHR$ (138+PR)+" HI SCORE";SC$;" ";HS$;" ";+ CHR$ (133+PR);: PRINT @420,E4$; 154 RETURN 155 P7=4.1 156 PRINT @0," YOU DID IT! "; 157 FOR N=1 TO 3: SCREEN 0,1: PLAY OK$: SCREEN 0,0: FOR I=1 TO 45: NEXT 158 SC=SC+(A*10): GO SUB 177: NEXT :V3=V3+10 159 :'LISTING OF ALL VARIABLES AND THEIR USES 160 IF BN>0 THEN PRINT @0," iNiTiAl bOnUs";BN;: PLAY TY$:SC=SC+BN: GO SUB 177:BN=0 161 FOR N=1 TO 1000: NEXT 162 TI= TIMER : IF TI<9000 THEN TT=(9000-TI)/300:TT=( INT (TT)*5): ELSE GO TO 166 163 PRINT @0,"*speed*bonus* ";: PRINT USING "###";TT;: PRINT " "; 164 FOR N=1 TO 1000: NEXT : FOR N=1 TO INT (TT/F5):SC=SC+F5: PLAY XX$: PRINT @13," ";: PRINT USING "###";(TT-(F5*N));: PRINT " score";: PRINT USING "#####";SC: NEXT 165 FOR N=1 TO 350: NEXT 166 PRINT @0," WELL DONE! ";: GO SUB 112 167 GO SUB 117 168 GO SUB 120 169 A=A+1: IF A=8 THEN GO TO 382 : ELSE POKE 30612,143+16*(C(A)-1) 170 PRINT @0," NOW TRY LEVEL";A;"! "; 171 FOR I=1 TO 15: EXEC 30036: FOR N=1 TO 45: NEXT N,I 172 IF A=7 THEN PRINT @47, CHR$ (175)+ CHR$ (175); 173 GO TO 29 174 :'50,000 VOLT SHOCK FOR BAD LOSERS 175 VOLTS=50000 176 PRINT @0," MINED YOUR HEAD !";: SOUND 2,14:SC=SC-10*A: PRINT @0," <><>STUNNED?<><> "; 177 :'DIRECT VOLTAGE TO BREAK BUTTON 178 IF SC<0 THEN SC=0 179 PRINT @21,"score";: PRINT USING "#####";SC:: RETURN 180 :'PLENTY OF TIME 181 PRINT @0," OUT OF TIME SCORE ";SC 182 SOUND 10,10 183 H=0 184 H=0::'JUST TO MAKE SURE ! 185 GO SUB 90: GO SUB 112: GO SUB 117: GO SUB 120 186 IF A<7 AND SC>1000*A THEN 435 187 POKE M,24 188 IF SC>HS THEN GO SUB 134: ELSE FOR N=1 TO 1000: NEXT 189 PRINT @0," GAME OVER "; 190 PRINT @196,E1$;: PRINT @228, CHR$ (138+PR)+" PRESS A KEY! "+ CHR$ (133+PR);: PRINT @260, CHR$ (138+PR)+" ( I = INSTRUCTIONS) "+ CHR$ (133+PR);: PRINT @292,E4$; 191 POKE 1024+263,98: POKE 1024+265,98 192 IF SC<=HS THEN GO SUB 151 193 POKE 135,255 194 PRINT @3,E2$;: FOR I=1 TO 50:AS= PEEK (135): IF AS=255 THEN NEXT : ELSE 196 195 PRINT @3,E3$;: FOR I=1 TO 50:AS= PEEK (135): IF AS=255 THEN NEXT : GO TO 194 196 SOUND 100,1 197 IF AS=73 THEN GO SUB 302 198 GO SUB 283 199 BN=0 200 IF A<3 OR F9=1 THEN LV=1:F9=0: GO TO 210 201 PRINT @166,"which"+ CHR$ (128)+"level"+ CHR$ (128)+"to"+ CHR$ (128)+"start"; 202 WL=1025+224+15-A 203 FOR I=1 TO A-1: 204 IF I=A-1 THEN POKE WL+2*(I-1),15: POKE WL+2*(I-1)+1,18: POKE WL+3+2*(I-1),I+48: ELSE POKE WL+2*(I-1),I+48 205 NEXT 206 POKE 135,255 207 AS= PEEK (135): IF AS=255 THEN 207 208 IF AS-4848 THEN LV=AS-48: ELSE SOUND 1,6: GO TO 206 209 SOUND 100,1:BN=550*(LV-1)-350 210 V3=25+10*LV:SC=0: GO TO 27 211 :'RANDOM NUMBERS 212 FOR I=1 TO 100: READ J: POKE I+29999,J: NEXT 213 DATA 134,150,142,4,0,167,0,48,1,140,6,0,38,247,57 214 DATA 16,142,117,148,142,4,0,166,0,167,32,48,1,49,33,140,6,0,38,243,57 215 :'CHANGE NUMBERS BELOW FOR DIFFERENT ENDING 216 DATA 16,142,119,149,142,5,224,166,0,167,32,48,1,49,33,140,6,0,38,243 217 DATA 142,5,223,166,0,167,136,32,48,31,140,4,31,38,244 218 DATA 16,142,4,32,142,119,149,166,0,129,175,39,3,182,119,148,167,32,48,1,49,33,16,140,4,64,38,235,57 219 SOUND 100,1:HS=250: PRINT @481,"test"+ CHR$ (128)+"procedure"+ CHR$ (128)+"now"+ CHR$ (128)+"in"+ CHR$ (128)+"progress"; 220 FOR I=1 TO 40: READ J: POKE I+30699,J: NEXT 221 DATA 198,42,16,142,4,97,142,121,145,166,0,129,128,38,2,231,32,48,1,49,33,140,122,239,38,239,57 222 DATA 134,0,142,121,48,167,128,140,123,47,38,249,57 223 FOR I=1 TO 64: READ J: POKE 30804+I,J: NEXT :LV=1 224 DATA 190,120,80,16,190,120,82,246,120,84,134,128,167,128,49,63,16,140,0,1,38,246,167,128,48,136,31,90,193,1,38,246 225 DATA 16,190,120,82,167,132,48,31,49,63,16,140,0,1,38,244,246,120,84,167,132,48,136,224,90,193,1,38,246,57,57,57 226 FOR I=1 TO 50: READ IN(I): NEXT 227 DATA -32,-32,32,-1,1,1,1,32,-32,1,1,1,1,1,1,32,32,32,1,1,1,1,1,1,1,1,1,1,1,1,-32,1,1,-32,-32,-32,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-32 228 FOR I=1 TO 26: READ DM(I):SC$=" 250":HS$="I&C": NEXT 229 DATA -32,-32,32,1,1,1,-32,32,1,-1,-1,-1,-1,-1,-1,-1,-1,-32,32,1,1,1,-32,-32,-32,-32 230 RETURN 231 :'BAG OF SWEETS MATERIALISE ROUTINE FOR WINNERS 232 AS= PEEK (135): IF AS=255 THEN RETURN 233 POKE 135,255 234 DM=(AS=8)-(AS=9)+32*(AS=94)-32*(AS=10): IF DM=0 THEN RETURN 235 NX= PEEK (M+DM) 236 IF NX=175 OR M+DM>1521 THEN GO SUB 176:DM=0: RETURN 237 IF NX=63 THEN F=1 238 IF NX=109 THEN H0=1 239 IF NX=106 THEN H=1 240 OM=M:M=M+DM: PLAY B$ 241 SA=15- INT ((M-1024)/32) 242 IF SB1248 AND M<1279 THEN 240 249 IF C>749 THEN 180 250 O=-( PEEK (M+Q-32)=128)-( PEEK (M+Q+32)=128)-( PEEK (M+Q+1)=128)-( PEEK (M+Q-1)=128) 251 IF O>0 THEN SOUND O*60,1 252 W$="MINES ": IF O=1 THEN W$="MINE " 253 IF O>0 THEN PRINT @1, CHR$ (133+16*O);O;W$; CHR$ (138+16*O);" ";: ELSE PRINT @1,"<<>> "; 254 IF F0=1 THEN SC=SC+5*A:F0=0 255 GO SUB 177 256 RETURN 257 :'BILL'S LIFE STORY 258 IF TIMER <100*BS(A) THEN RETURN 259 B2=B1: IF TIMER -B21248 AND B5-M(B3)<1279 THEN 260 265 RETURN 266 P7= TIMER 267 B7=B6 268 IF TIMER -B7<50 THEN RETURN 269 GO SUB 436 270 B6= TIMER 271 RETURN 272 IF ABS (M(1))<>1 THEN RETURN 273 PRINT @0," > > > > > "; 274 B8=B9: IF TIMER -B8<2*BS(A) THEN RETURN 275 B9= TIMER :SC=SC+5: GO SUB 177: PLAY "T180O5AC": RETURN 276 :'DRAW SENSATIONAL LANDSCAPE 277 CLS 0: FOR I=1 TO 22: READ J: POKE 1029+I,J: FOR N=1 TO 50: NEXT N,I 278 K=1093: FOR I=1 TO 85: READ J: SOUND 255*J/340,1: POKE K+J,255: NEXT 279 FOR I=1 TO 5: READ J: POKE K+J,245: NEXT : READ J: POKE K+J,250 280 FOR I=1 TO 15: READ J: POKE 1511+I,J: NEXT 281 FOR I=1 TO 21: READ J: POKE 30739+I,J: NEXT ::'1ST MC ROUTINE 282 FOR I=1 TO 8: EXEC 30740: PLAY "T75A1B2C3B2A1P10": NEXT : RETURN 283 :'HELLO NICK, JOHN, MARK, CAROLINE, ROD, MAUREEN & ALL THE quicksilva DROIDS 284 X1=991:X2=34:X3=18 285 X1=X1+33:X2=X2-2:X3=X3-2 286 IF X3=0 THEN 291 287 X4= INT (X1/256):X5=X1-X4*256 288 POKE 30800,X4: POKE 30801,X5: POKE 30802,0: POKE 30803,X2: POKE 30804,X3 289 EXEC 30805 290 GO TO 285 291 IF RND (9)=1 THEN FOR PF=1 TO 6: PRINT @108,"*-*--*-*";: PLAY "T65O4AG": PRINT @108,"minedout";: PLAY "T65O5AGAGAGAG": NEXT PF: CLS (0) 292 FOR N=1 TO 600: NEXT : RETURN 293 :'INSTRUCTIONS FOR RESTORING GAME TO ORIGINAL STATE AFTER TAMPERING 294 SOUND 100,1: PRINT @481, STRING$ (30,128); 295 PRINT @487,"instructions"+ CHR$ (128)+ CHR$ (128)+"y"+ CHR$ (128)+"n"; 296 POKE 1024+502,47 297 POKE 135,255: IF MM<>50 THEN 435 298 AS= PEEK (135): TROFF : IF AS=255 THEN 298 299 SOUND 100,1 300 IF AS=89 THEN GO SUB 302 301 RETURN 302 :'BILL'S LIFE STORY II 303 CLS 1: PRINT @34,"mined"+ CHR$ (128)+"out BY I & C ANDREW" 304 PRINT @98,"your"+ CHR$ (128)+"mission (SHOULD YOU DECIDE TO ACCEPT IT) IS TO RESCUE BILL THE WORM BY BREAKING DOWN THE DOOR OF HIS ENCLOSURE WHICH IS ON THE FINAL MINEFIELD (LEVEL 7)." 305 PRINT @354,"this IS BILL "+ CHR$ (142)+ CHR$ (133) 306 PRINT @403, CHR$ (132)+ CHR$ (136)+ CHR$ (135) 307 GO SUB 376 308 B$="T100O2E1" 309 W=1429: GO SUB 464 310 CLS 1: PRINT @0, STRING$ (15,128);: PRINT @17, STRING$ (15,128) 311 PRINT @98,"you O BEGIN EACH LEVEL AT THE BOTTOM OF THE SCREEN.": POKE 1126,98: POKE 1128,98 312 PRINT @194,"aim FOR THE GAP AT THE TOP OF THE SCREEN." 313 PRINT @290,"move USING THE CURSOR KEYS (THE ONES WITH THE ARROWS ON THEM)." 314 GO SUB 376 315 M=1127: FOR I=1 TO 50: POKE M,143:M=M+IN(I): POKE M,79: PLAY B$: FOR N=1 TO 20: NEXT N,I 316 CLS 1: PRINT @34,"mines ARE VERY NASTY. YOU ARE WARNED OF ANY MINES ADJACENT TO YOUR POSITION AT THE TOP LEFT OF THE SCREEN.": POKE 1064,98: POKE 1065,42: POKE 1066,98 317 PRINT @194,"you"+ CHR$ (128)+"live"+ CHR$ (128)+"only"+ CHR$ (128)+"once" 318 PRINT @234,"do"+ CHR$ (128)+"not"+ CHR$ (128)+"hit"+ CHR$ (128)+"any"+ CHR$ (128)+"mines" 319 PRINT @290,"mystery BONUSES ARE GIVEN FOR LANDING ON A .": POKE 1363,98: POKE 1364,63: POKE 1365,98 320 PRINT @354,"BUT BEWARE, THERE MAY BE A MINE UNDERNEATH IT." 321 GO SUB 376 322 CLS 1: PRINT @34,"the"+ CHR$ (128)+"bug * WILL CHASE YOU SOMETIMES, IT CAN GET VERY AGGRESIVE.": POKE 1066,98: POKE 1068,98 323 DE$="O ": FOR I=1 TO 39: PRINT @192-I,DE$;: FOR N=1 TO 35: NEXT : PLAY B$ 324 IF I>5 THEN DE$="O * " 325 IF I>31 THEN DE$=" * " 326 IF I=38 THEN DE$=" " 327 NEXT 328 PRINT @162,"tips THE TOP & BOTTOM LINES OF THE MINEFIELD ARE TOTALLY FREE OF MINES. SO IF YOU REACH THE TOP LINE YOU CAN SAFELY MOVE TO THE GAP. WHEN" 329 PRINT @322,"THE BUG IS ACTIVE (LEVEL 3 ONWARDS) KEEP ON THE MOVE, YOU CAN USUALLY OUT-RUN IT." 330 GO SUB 376 331 CLS 1: PRINT @34,"demonstration" 332 D1$= STRING$ (5,175)+ STRING$ (2,207)+ STRING$ (5,175) 333 D2$= CHR$ (175)+ STRING$ (10,207)+ CHR$ (175) 334 PRINT @138,D1$;: FOR I=1 TO 4: PRINT @138+I*32,D2$;: NEXT : PRINT @298,D1$; 335 POKE 1228,42: POKE 1235,42: POKE 1259,42: POKE 1261,42: POKE 1265,42: POKE 1268,42 336 M=1328: POKE M,79 337 PRINT @354,"note THE MINES ARE INVISIBLE WHEN YOU PLAY (CHORTLE).": PRINT @452,"(PRESS S TO SPEED-UP)": POKE 1483,98: POKE 1485,98 338 FOR N=1 TO 1000: NEXT : POKE 135,255:OK=1000 339 FOR I=1 TO 26: POKE M,143:M=M+DM(I): POKE M,79: PLAY B$ 340 O=-( PEEK (M-32)=42)-( PEEK (M+32)=42)-( PEEK (M+1)=42)-( PEEK (M-1)=42) 341 IF O>0 THEN SOUND O*60,1 342 W$="MINES": IF O=1 THEN W$="MINE " 343 IF O>0 THEN PRINT @107, CHR$ (133+16*O);O;W$; CHR$ (138+16*O);" ";: ELSE PRINT @107,"<<>> "; 344 AS= PEEK (135): IF AS=83 THEN OK=1 345 FOR N=1 TO OK: NEXT N,I: POKE M,143: PRINT @107," O ";: PLAY B$ 346 PRINT @354," press"+ CHR$ (128)+ CHR$ (128)+"i"+ CHR$ (128)+ CHR$ (128)+"to"+ CHR$ (128)+"see": PRINT @386," instructions"+ CHR$ (128)+"again": POKE 1390,34: POKE 1392,34 347 PRINT @452," any"+ CHR$ (128)+"other"+ CHR$ (128)+"key"+ CHR$ (128)+"to"+ CHR$ (128)+"start" 348 POKE 135,255 349 AS= PEEK (135): IF AS=255 THEN 349 350 SOUND 100,1 351 IF AS=73 THEN 302 352 RETURN 353 GO SUB 71: GO SUB 60: GO SUB 51 354 GO SUB 232: GO TO 354 355 GO SUB 71: GO SUB 422: GO SUB 51 356 GO SUB 232: GO TO 356 357 GO SUB 71: GO SUB 422: GO SUB 51 358 B1=0:B3=0:B5=RS:B9=0 359 GO SUB 232 360 IF C=2 THEN GO SUB 272 361 GO SUB 257 362 GO TO 359 363 GO SUB 71 364 FOR I=1 TO 30: POKE 31216+I,0: NEXT 365 GO SUB 51 366 B1=0:B3=0:B5=RS:B6=0:B9=0 367 GO SUB 232 368 IF C=2 THEN GO SUB 272 369 GO SUB 257: GO SUB 266: GO TO 367 370 GO SUB 439: GO SUB 71 371 L=31024+140: FOR I=0 TO 7: FOR N=0 TO 6: POKE L+I+32*N,0: NEXT N,I 372 GO SUB 51 373 GO SUB 232 374 IF H0=1 THEN H0=0: GO TO 382 375 GO TO 373 376 :'TRON FACILITY 377 PRINT @451, CHR$ (128)+"press"+ CHR$ (128)+"a"+ CHR$ (128)+"key"+ CHR$ (128)+"to"+ CHR$ (128)+"continue"+ CHR$ (128); 378 POKE 135,255 379 AS= PEEK (135): IF AS=255 THEN 379 380 SOUND 100,1 381 RETURN 382 :'MINED OUT FAN CLUB 383 F9=1 384 W=1297: GO SUB 464 385 PRINT @0," YOU DID IT! ": FOR I=1 TO 10: SCREEN 0,1:SC=SC+200: GO SUB 177: SCREEN 0,0: PLAY OK$: NEXT 386 PLAY TY$+OK$ 387 GO TO 409 388 P7=0 389 WW$="E2F2D11F2E2U7E2F2D7F2E2U11E2F2D14G3L5H2G2L5H3U14BM+25,+0" 390 WE$="E2R9F2G2L6G1D1F1R3F2G2L3G1D2F1R6F2G2L9H2U15BM+18,+0" 391 WL$="