home *** CD-ROM | disk | FTP | other *** search
- 10 REM DIRECTION
- 20 REM BY MARTY BALASH
- 30 REM SEPTEMBER 14, 1986
- 40 :
- 50 PRINT"[147][144] L O A D I N G . . . [154]"
- 60 IFI=0THENI=1:LOAD".DIRECTION",8,1
- 70 :
- 80 PRINT"ON YOUR DISK"
- 90 PRINT"[147]RESET HIGH SCORE? (Y OR N)"
- 100 PRINT"PLEASE SELECT"
- 110 PRINT "'Y' IF THERE'S"
- 120 PRINT "NO FILE NAMED"
- 130 PRINT ". DIRECTION[146]"
- 140 PRINT"ON YOUR DISK"
- 150 POKE198,0
- 160 IF PEEK(198)=0THEN160
- 170 GET A9$
- 180 IFA9$<>"N"ANDA9$<>"Y"THEN150
- 190 IFA9$="Y"THENGOSUB2750
- 200 REM **TITLE & CHAR SET*********
- 210 PRINT"[147][144] P L E A S E W A I T [154]"
- 220 POKE55,0:POKE56,92:CLR
- 230 AQ=73
- 240 READA:IFA=-1THEN260
- 250 FORII=0TO7:READB:POKE12288+A*8+II,B:NEXT:PRINT"";AQ:AQ=AQ-1:GOTO 240
- 260 PRINT" ":POKE53272,(PEEK(53272)AND240)OR12
- 270 CLR
- 280 GOSUB2660
- 290 RE=1
- 300 REM*****END TITLE & CHAR SET****
- 310 :
- 320 :
- 330 REM ******** GET OPTIONS*****
- 340 GOSUB1890:REM LEVEL
- 350 GOSUB2160:REM KEY/JOY
- 360 REM ****END GET OPTIONS*****
- 370 :
- 380 :
- 390 :REM ****SET UP**********
- 400 POKE53280,1: GOSUB 1720:REM SHOW INSTRUCTIONS
- 410 LM$=" 0":PRINTCHR$(147)
- 420 S1$=CHR$(32):S2$=S1$+S1$:S3$=S2$+S1$
- 430 GOSUB 1160:REM DRAW TOP PART
- 440 FOR SCRNLOC=1184 TO2023
- 450 RAN=INT(RND(1)*LL)+1:RAN=RAN+48
- 460 POKE SCRNLOC,RAN
- 470 NEXT
- 480 FOR SCRNLOC=1144 TO 1183: POKE SCRNLOC,160:NEXT
- 490 FOR SCRNLOC=1184 TO 1984 STEP 40:POKE SCRNLOC,160:NEXT
- 500 FOR SCRNLOC = 1984 TO 2023:POKESCRNLOC,160:NEXT
- 510 FORSCRNLOC=1223TO2023STEP40:POKESC,160:NEXT
- 520 GOSUB1800:REM NORMAL SCREEN
- 530 GOSUB2390:REM PICK LOC
- 540 POKE53280,8:POKE53281,3
- 550 PRINT"[158]"
- 560 REM ******END SET UP*********
- 570 :
- 580 :
- 590 REM ******MAIN ROUTINE*******
- 600 IF PEEK(LOC)>128THENPOKE LOC,(PEEK(LOC)-128)
- 610 POKE LOC+54272,0
- 620 IFJK$="JOY"THENGOSUB 690
- 630 IFJK$="KEY"THENGOSUB2450
- 640 IFEFLAG=1THENGOSUB1640:PRINT"[154] YOU LOSE (HIT A KEY) ":GOTO1080
- 650 (null) TO 590
- 660 REM ****** END OF MAIN ROUTINE***
- 670 :
- 680 :
- 690 REM ****READ JS INPUT******
- 700 GOSUB1430:REM READ JS
- 710 IFJV=0THENIFPEEK(LOC)<128THENPOKE LOC,(PEEK(LOC)+128)
- 720 IFJV=0THENIFPEEK(LOC)>128THENPOKE LOC,(PEEK(LOC)-128)
- 730 IFJV=0THENGOTO830
- 740 IF JV = 8 THEN DEF FN FM(LOC)=LOC+1:GOTO 850:REM RIGHT
- 750 IF JV = 4 THEN DEF FN FM(LOC)=LOC-1:GOTO 850:REM LEFT
- 760 IF JV = 1 THEN DEF FN FM(LOC)=LOC-40:GOTO 850:REM UP
- 770 IF JV = 2 THEN DEF FN FM(LOC)=LOC+40:GOTO 850:REM DOWN
- 780 IF JV = 9 THEN DEF FN FM(LOC)=LOC-39:GOTO 850:REM NE
- 790 IF JV = 5 THEN DEF FN FM(LOC)=LOC-41:GOTO 850:REM NW
- 800 IF JV = 6 THEN DEF FN FM(LOC)=LOC+39:GOTO 850:REMSW
- 810 IF JV = 10 THEN DEF FN FM(LOC)=LOC+41:GOTO 850:REMSE
- 820 IF JV = 0 THEN DEF FN FM(LOC)=LOC:GOTO850:REM NO DIRECTION
- 830 GOTO 700
- 840 :
- 850 REM-----------CONTINUE-------
- 860 L2=FNFM(LOC)
- 870 IFPEEK(L2)=160THENGOTO920
- 880 IFPEEK(L2)>128THENGOTO920
- 890 IFPEEK(L2)<128THENPOKE L2,(PEEK(L2)+128)
- 900 IFPEEK(L2)>128THENPOKE L2,(PEEK(L2)-128)
- 910 IF FR=0THENIFPEEK(LOC)<128THENPOKELOC,(PEEK(LOC)+128):GOSUB940
- 920 RETURN
- 930 :
- 940 REM ***MOVE CURSOR*****
- 950 COUNT=PEEK(FNFM(LOC))-48
- 960 IF COUNT <1 OR COUNT >9 THEN COUNT=1
- 970 IF EFLAG=0THEN LM$=STR$(COUNT):RE=RE+COUNT:GOSUB1160:REM PRINT TOP LINES
- 980 FOR I=1 TO COUNT
- 990 : IF EFLAG=0 THEN LOC=FNFM(LOC)
- 1000 : IF PEEK(LOC)>127 THEN EFLAG=1
- 1010 : IF EFLAG=0 THEN GOSUB1520
- 1020 : IF EFLAG=0 THENPOKE LOC,(PEEK(LOC)+128):POKELOC+54272,0
- 1030 NEXT I
- 1040 RETURN
- 1050 REM *******END MOVE CURSOR******
- 1060 :
- 1070 :
- 1080 REM*******END OF GAME ***********
- 1090 POKE198,0
- 1100 IFPEEK(198)=0THENGOTO1100
- 1110 GOSUB 2660:REM READ/WRITE DISK
- 1120 RUN 260
- 1130 REM*******END OF GAME ***********
- 1140 :
- 1150 :
- 1160 REM *****PRINT TOP LINES*******
- 1170 EC=761-RE:RE$=STR$(RE)
- 1180 IF LEN(RE$)=3 THEN RE$=S1$+RE$
- 1190 IF LEN(RE$)=2 THEN RE$=S2$+RE$
- 1200 IF LEN(RE$)=1 THEN RE$=S3$+RE$
- 1210 PG=INT((EC/760)*100):PG=100-PG
- 1220 PG$=STR$(PG)
- 1230 IF LEN(PG$)=3 THEN PG$=S1$+PG$
- 1240 IF LEN(PG$)=2 THEN PG$=S2$+PG$
- 1250 IF LEN(PG$)=1 THEN PG$=S3$+PG$
- 1260 IF PG > HS THEN HS = PG
- 1270 HS$=STR$(HS)
- 1280 IF LEN(HS$)=3 THEN HS$=S1$+HS$
- 1290 IF LEN(HS$)=2 THEN HS$=S2$+HS$
- 1300 IF LEN(HS$)=1 THEN HS$=S3$+HS$
- 1310 IF RE > LM THEN LM = RE
- 1320 LM$=STR$(LM)
- 1330 IF LEN(LM$)=3 THEN LM$=S1$+LM$
- 1340 IF LEN(LM$)=2 THEN LM$=S2$+LM$
- 1350 IF LEN(LM$)=1 THEN LM$=S3$+LM$
- 1360 PRINT "[144] D I R E C T I O N "
- 1370 PRINT " SPACES GONE: ";RE$:PRINTTAB(19);"[145]PERCENT GONE: ";PG$;"%"
- 1380 PRINT " HIGH SPACES: ";LM$:PRINTTAB(19);"[145]HIGH PERCENT: ";HS$;"%"
- 1390 RETURN
- 1400 REM **** END PRINT TOP LINES **
- 1410 :
- 1420 :
- 1430 REM *****JOYSTICK RDR******
- 1440 REM PAGE 344 OF PROG. MANUAL
- 1450 JV=PEEK(56320)
- 1460 FR=JVAND16
- 1470 JV=15-(JVAND15)
- 1480 RETURN
- 1490 REM ******END OF JOYSTICK RDR***
- 1500 :
- 1510 :
- 1520 REM*******CLICK********
- 1530 S=54272
- 1540 POKES+24,10:REM VOL
- 1550 POKES+1,110
- 1560 POKES+5,8
- 1570 POKES+6,2:REM DURATION
- 1580 POKES+4,17
- 1590 POKES+4,16
- 1600 RETURN
- 1610 REM*****END CLICK*******
- 1620 :
- 1630 :
- 1640 REM*****BUZZER*******
- 1650 FOR A=1TO20:POKE54296,15
- 1660 FORT=1TO3:NEXT:POKE54296,0
- 1670 FORT=1TO3:NEXT:NEXT
- 1680 RETURN
- 1690 REM*****END BUZZER****
- 1700 :
- 1710 :
- 1720 REM**** SHOW INSTRUCTIONS ***
- 1730 POKE53265,59
- 1740 POKE53272,120
- 1750 POKE56576,PEEK(56576)AND254
- 1760 RETURN
- 1770 REM***END SHOW**************
- 1780 :
- 1790 :
- 1800 REM**** NORMAL SCRN******
- 1810 POKE53265,27
- 1820 POKE53272,21
- 1830 POKE56576,PEEK(56576)OR1
- 1840 POKE53272,(PEEK(53272)AND240)OR12
- 1850 RETURN
- 1860 REM*****END NORMAL***********
- 1870 :
- 1880 :
- 1890 REM*****GET LEVEL********
- 1900 POKE53281,1:POKE53280,1
- 1910 PRINT"[147] CHOOSE A LEVEL:"
- 1920 PRINT"[158]1 EASY
- 1930 [153]"2 MEDIUM
- 1940 PRINT"3 HARD
- 1950 [153]"(CURSOR DOWN) KEY TO CHOOSE"
- 1960 [153] "(RETURN) KEY TO SELECT"
- 1970 [153]"STOPCDEFGHIJKL"
- 1980 [153]"STOP#$%&'()*+,"
- 1990 AR[178]1387[170]80:[151]AR,45
- 2000 [151]198,0
- 2010 [139][194](198)[178]0[167]2010
- 2020 [141] 1520:[143] CLICK
- 2030 [161]UD$
- 2040 [139]UD$[179][177][199](17)[175]UD$[179][177][199](13)[167][137] 2000
- 2050 [139]UD$[178][199](13)[175]AR[178]1387[167]LL[178]5:[137]2120
- 2060 [139]UD$[178][199](13)[175]AR[178]1387[170]80[167]LL[178]7:[137]2120
- 2070 [139]UD$[178][199](13)[175]AR[178]1387[170]160[167]LL[178]9:[137]2120
- 2080 [151]AR,32:AR[178]AR[170]80
- 2090 [139]AR[178]1387[170]240[167]AR[178]1387
- 2100 [151]AR,45
- 2110 [137] 2000
- 2120 [142]
- 2130 [143]****END GET LEVEL*****
- 2140 :
- 2150 :
- 2160 [143]***JS OR KEY******
- 2170 [151]53280,7:[151]53281,7
- 2180 [153]"LOADDEF(CURSOR DOWN) KEY TO CHOOSE"
- 2190 [153] "(RETURN) KEY TO SELECT"
- 2200 [153]"CDEFGHIJKL"
- 2210 [153]"#$%&'()*+,"
- 2220 [153]"JOYSTICK":[153]" OR"
- 2230 [153]"KEYBOARD?"
- 2240 AR[178]1432:[151]AR,45
- 2250 [151]198,0
- 2260 [139][194](198)[178]0[167]2260
- 2270 [141]1520:[143] CLICK
- 2280 [161] UD$
- 2290 [139]UD$[179][177][199](17)[175]UD$[179][177][199](13)[167][137]2250
- 2300 [139]UD$[178][199](13)[175]AR[178]1432[167]JK$[178]"JOY":[137]2360
- 2310 [139]UD$[178][199](13)[175]AR[178]1432[170]160[167]JK$[178]"KEY":[137]2360
- 2320 [151] AR,32:AR[178]AR[170]160
- 2330 [139]AR[177]1432[170]160[167]AR[178]1432
- 2340 [151]AR,45
- 2350 [137] 2250
- 2360 [142]
- 2370 :
- 2380 :
- 2390 [143]****PICK RND LOC******
- 2400 LOC[178][181]([187](1)[172]801)[170]1185:[139][194](LOC)[179]49[176][194](LOC)[177]57[167][137]2400
- 2410 [142]
- 2420 [143]****END PICK******
- 2430 :
- 2440 :
- 2450 [143] ****READ KEYBOARD INPUT******
- 2460 [151]198,0
- 2470 HOLD[178][194](LOC):[151] LOC,160:[151]LOC,HOLD:[139] [194](198)[178]0[167]2470
- 2480 [161]IP$
- 2490 [150] [165]FM(LOC)[178]LOC
- 2500 [139] IP$[178][199](76)[167] [150] [165] FM(LOC)[178]LOC[170]1:[137] 2590:[143] RIGHT
- 2510 [139] IP$[178][199](74)[167] [150] [165] FM(LOC)[178]LOC[171]1:[137] 2590:[143] LEFT
- 2520 [139] IP$[178][199](73)[167] [150] [165] FM(LOC)[178]LOC[171]40:[137] 2590:[143] UP
- 2530 [139] IP$[178][199](44)[167] [150] [165] FM(LOC)[178]LOC[170]40:[137] 2590:[143] DOWN
- 2540 [139] IP$[178][199](79)[167] [150] [165] FM(LOC)[178]LOC[171]39:[137] 2590:[143] NE
- 2550 [139] IP$[178][199](85)[167] [150] [165] FM(LOC)[178]LOC[171]41:[137] 2590:[143] NW
- 2560 [139] IP$[178][199](46)[167] [150] [165] FM(LOC)[178]LOC[170]41:[137] 2590:[143]SE
- 2570 [139] IP$[178][199](77)[167] [150] [165] FM(LOC)[178]LOC[170]39:[137]2590:[143]SW
- 2580 [137] 2450
- 2590 [139] [194]([165]FM(LOC))[177]127[167][137]2450
- 2600 [139] [194](LOC)[179]128[167][151]LOC,([194](LOC)[170]128)
- 2610 [141]940
- 2620 [142]
- 2630 [143] ****END OF READ KEYBOARD*****
- 2640 :
- 2650 :
- 2660 [143] ****READ/WRITE HS TO DISK***
- 2670 [159]1,8,8,"0:. DIRECTION,S,R"
- 2680 [132]1,DS$
- 2690 [132]1,DP$
- 2700 [160]1
- 2710 [139] [197](HS$)[177][197](DS$)[167]DS$[178]HS$:F1[178]1
- 2720 [139] F1[178]0[167]HS$[178]DS$
- 2730 [139] [197](LM$)[177][197](DP$)[167]DP$[178]LM$:F2[178]1
- 2740 [139] F2[178]0[167]LM$[178]DP$
- 2750 [139] DS$[178]""[167]DS$[178]"0"
- 2760 [139] DP$[178]""[167]DP$[178]"0"
- 2770 [159]1,8,8,"@0:. DIRECTION,S,W"
- 2780 [152]1,DS$:[152]1,DP$:[160]1
- 2790 LM[178][197](LM$):HS[178][197](HS$)
- 2800 [142]
- 2810 [143] ****END DISK R/W*****
- 2820 :
- 2830 :
- 2840 [131]2,124,110,102,124,102,110,124,0
- 2850 [131]10,062,12,12,12,108,124,56,0
- 2860 [131]63,60,102,102,12,24,0,24,0
- 2870 [131]32,0,0,0,0,0,0,0,0
- 2880 [131] 160,255,255,255,255,255,255,255,255
- 2890 :
- 2900 :
- 2910 [131]1,24,60,102,126,126,102,102,0
- 2920 [131]3,60,126,102,96,102,126,60,0
- 2930 [131]4,120,124,102,102,102,124,120,000
- 2940 [131]5,126,126,96,120,96,126,126,0
- 2950 [131]7,60,126,96,110,102,126,60,0
- 2960 [131]8,102,102,126,126,102,102,102,0
- 2970 [131]9,60,60,24,24,24,60,60,0
- 2980 [131]11,102,110,124,120,124,110,102,0
- 2990 [131]12,96,96,96,96,96,126,126,0
- 3000 [131]13,99,119,127,127,107,99,99,0
- 3010 [131]14,102,118,126,126,110,110,102,0
- 3020 [131]15,60,126,102,102,102,126,060,0
- 3030 [131]16,124,126,102,126,124,96,96,0
- 3040 [131]18,124,102,118,124,120,108,102,0
- 3050 [131]19,60,126,96,60,6,126,60,0
- 3060 [131]20,126,126,24,24,24,24,24,0
- 3070 [131]21,102,102,102,102,102,126,60,0
- 3080 [131]22,102,102,102,102,126,60,24,0
- 3090 [131]23,99,99,107,127,127,119,99,0
- 3100 [131]25,102,102,126,60,24,24,24,0
- 3110 [131]33,60,60,60,24,0,24,24,0
- 3120 [131]37,2,102,78,28,56,114,102,0
- 3130 [131]40,28,56,112,112,112,56,28,0
- 3140 [131]41,56,28,14,14,14,28,56,0
- 3150 [131]45,8,12,254,255,254,12,8,0
- 3160 [131]48,60,126,102,102,102,126,60,0
- 3170 [131]49,24,56,56,24,24,126,126,0
- 3180 [131]50,60,126,102,12,56,126,126,0
- 3190 [131]51,60,126,102,012,102,126,60,0
- 3200 [131]52,14,30,54,102,127,127,6,0
- 3210 [131]53,126,96,124,14,102,126,60,0
- 3220 [131]54,60,102,96,124,102,126,60,0
- 3230 [131]55,126,126,70,12,24,24,24,0
- 3240 [131]56,60,102,118,60,110,102,60,0
- 3250 [131]57,60,102,102,62,6,126,60,0
- 3260 [131]58,0,24,24,0,24,24,0,0
- 3270 [131]61,0,126,126,0,126,126,0,0
- 3280 [131]131,192,225,243,255,222,204,192,192
- 3290 [131]132,223,223,192,192,195,199,204,204
- 3300 [131]133,255,255,0,0,015,143,204,204
- 3310 [131]134,255,255,12,12,141,205,205,205
- 3320 [131]135,255,255,3,3,155,155,155,251
- 3330 [131]136,255,255,3,3,7,15,30,60
- 3340 [131]137,255,255,192,192,135,15,204,204
- 3350 [131]138,255,255,0,0,204,204,12,12
- 3360 [131]139,255,255,0,0,120,252,204,204
- 3370 [131]140,255,255,0,0,195,195,227,243
- 3380 [131]163,192,192,192,192,192,192,192,255
- 3390 [131]164,207,207,204,204,204,204,0,255
- 3400 [131]165,207,207,205,204,204,204,0,255
- 3410 [131]166,204,140,140,204,204,204,0,255
- 3420 [131]167,243,99,99,99,99,99,0,255
- 3430 [131]168,120,240,224,192,128,0,0,255
- 3440 [131]169,207,199,192,192,207,207,0,255
- 3450 [131]170,140,204,204,204,204,140,0,255
- 3460 [131]171,204,204,204,204,252,120,0,255
- 3470 [131]172,255,255,207,199,195,195,0,255
- 3480 [131]176,195,129,153,153,153,129,195,255
- 3490 [131]177,231,199,199,231,231,129,129,255
- 3500 [131]178,195,129,153,243,199,129,129,255
- 3510 [131]179,195,129,153,243,153,129,195,255
- 3520 [131]180,241,225,201,153,128,128,249,255
- 3530 [131]181,129,159,131,241,153,129,195,255
- 3540 [131]182,195,153,159,131,153,129,195,255
- 3550 [131]183,129,153,179,231,231,231,231,255
- 3560 [131]184,195,153,137,195,145,153,195,255
- 3570 [131]185,195,153,153,193,249,129,195,255
- 3580 [131]186,255,231,231,255,231,231,255,255
- 3590 [131]-1
-