100 REM STARPROBE 99 110 REM M.C. SUMNER 120 REM 9 JAN. 1983 140 REM * TI BASIC * 160 CALL CLEAR 165 RANDOMIZE 166 M$="PAUSE" 167 CV=1 170 CALL COLOR(2,12,2) 180 CALL COLOR(9,7,2) 190 FOR A=3 TO 8 200 CALL COLOR(A,5,2) 210 NEXT A 220 CALL SCREEN(2) 230 CALL CHAR(43,"80C0E0F0F8FCFEFF") 240 CALL CHAR(44,"0103070F1F3F7FFF") 250 CALL CHAR(42,"FFFFFFFFFFFFFFFF") 260 CALL CHAR(97,"FFFEFCF8F0E0C080") 270 CALL CHAR(98,"FFFFFFFFFFFFFFFF") 280 CALL CHAR(99,"0103070F1F3F7FFF") 285 CALL CHAR(100,"FEFDFBF7EFDFBF7F") 290 PRINT "c*** c*** c*** c*** b*ba dd*a b*d* b*d* c*** b*** b* b*** b*** dbba " 300 PRINT "dbd* b* b*d* b**a c*** b* b*b* b*d* dbba da dada dada " 310 PRINT:" c*** c*** c*** c*** c*** b*d* b*d* b*d* b*d* b*ba b*** b*** b*b* b**a b***" 320 PRINT " b*ba b**a b*b* b*d* b*ba b* b*d* b*** b*** b*** da dada dbba dbba dbba" 330 PRINT:" c*** c*** b*d* b*d* b*** b*** " 340 PRINT " dbd* dbd* b* b* da da" 350 PRINT " (C)1983 M..C..SUMNER PRESS ANY KEY TO BEGIN" 360 CALL KEY(0,K,S) 370 CALL SOUND(-3000,180,20,181,20,999,30,-4,10) 380 CALL COLOR(2,7,2) 382 CALL COLOR(2,9,2) 384 CALL COLOR(2,10,2) 386 CALL COLOR(2,14,2) 388 CALL COLOR(2,11,2) 390 CALL COLOR(2,16,2) 400 IF S=0 THEN 360 410 CALL CLEAR 420 PRINT "SET-UP UNDERWAY: PLEASE WAIT": : : : : 430 CALL CHAR(97,"80E0E0E8F8FEFEFF") 440 CALL CHAR(98,"010307070F6F7FFF") 450 CALL CHAR(99,"FFFEFEFAFAD0D080") 460 CALL CHAR(100,"FFFF3F3F3F372723") 470 CALL CHAR(101,"FFFFFFFFFFFFFFFF") 480 CALL CHAR(102,"0000C4EFFFFFFFFF") 490 CALL CHAR(103,"FFFFFFEE54404000") 500 CALL CHAR(104,"3C429999817E995A") 510 CALL CHAR(105,"3C428199997E5A99") 520 CALL CHAR(106,"001818") 530 CALL CHAR(107,"3C42E1E1817E5A3C") 535 CALL CHAR(108,"3C428787817E5A3C") 540 CALL CHAR(112,"8142182424184281") 550 CALL CHAR(113,"815A245A5A245A81") 560 CALL CHAR(120,"80C0AAFFFFAAC080") 570 CALL CHAR(121,"010355FFFF550301") 580 CALL CHAR(128,"000004864A492810") 590 CALL CHAR(129,"183C7E18183CFF81") 600 CALL CHAR(130,"18242418243C66E7") 610 CALL CHAR(136,"FF81FF81FF81FF81") 620 CALL CHAR(93,"FF99A5A5BDA5A5FF") 630 CALL CHAR(94,"7E819D9199917E81") 632 CALL CHAR(131,"0028245C2A1462") 634 CALL CHAR(132,"2882208520904210") 640 DEPTH=-130 645 RESTORE 650 AMMO=15 660 SCORE=0 670 FUEL=1500 680 OB=0 682 OBC=0 685 X=16 686 CAVE=1 690 REM *** COLORS *** 700 CALL COLOR(9,RND*10+3,2) 710 CALL COLOR(10,15,1) 720 CALL COLOR(11,7,1) 730 CALL COLOR(12,11,1) 740 CALL COLOR(13,8,1) 750 CALL COLOR(14,14,1) 760 CALL COLOR(15,4,1) 770 PRINT " STARPROBE 99 K=HOLD POSITION(THRUST) S=LEFT D=RIGHT" 775 PRINT " F=FIRE(BOMB)" 776 PRINT "*PRESS L FOR SUPER BLASTER*" 777 PRINT " PRESS ANY KEY TO BEGIN": : : : : : : : : : : : : : : : : : 780 CALL HCHAR(10,16,104) 790 CALL KEY(0,K,S) 800 IF S=0 THEN 790 810 RANDOMIZE CV 1000 REM MAIN LOOP 1010 CALL KEY(1,K1,S1) 1011 CALL KEY(2,K2,S2) 1012 IF S1<>0 THEN 1200 1013 IF S2<>0 THEN 2600 1015 DEPTH=DEPTH+10 1016 IF DEPTH/500=INT(DEPTH/500)THEN 2500 1030 IF OB<1 THEN 1060 1040 ON OB GOTO 2000,3000,4000,5000,6000,7000,4100,3500 1060 READ T$ 1062 IF T$<>"end" THEN 1070 1064 RESTORE 9020 1066 GOTO 1060 1070 PRINT T$ 1075 CALL SOUND(-2000,-5,15) 1080 CALL HCHAR(9,X,32) 1090 CALL GCHAR(10,X,G) 1100 IF G<>32 THEN 10000 1110 CALL HCHAR(10,X,104) 1120 GOTO 1010 1200 REM *KEY COMMANDS* 1205 IF FUEL<1 THEN 1030 1210 IF K1<>2 THEN 1300 1220 CALL HCHAR(10,X,32) 1230 X=X-1 1240 CALL GCHAR(10,X,G) 1250 IF G<>32 THEN 10000 1260 CALL HCHAR(10,X,107) 1270 CALL SOUND(-50,-5,10) 1280 FUEL=FUEL-20 1290 GOTO 1013 1300 IF K1<>3 THEN 1400 1310 CALL HCHAR(10,X,32) 1320 X=X+1 1330 CALL GCHAR(10,X,G) 1340 IF G<>32 THEN 10000 1345 CALL HCHAR(10,X,108) 1350 CALL SOUND(-50,-5,10) 1360 FUEL=FUEL-20 1370 GOTO 1013 1400 IF K1<>12 THEN 1700 1405 IF AMMO<1 THEN 1013 1410 CALL HCHAR(10,X,105) 1420 FOR A=1 TO 5 1430 CALL GCHAR(10+A,X,G) 1440 IF G<96 THEN 1450 1442 IF G>119 THEN 1465 1444 GOTO 1515 1450 IF G=93 THEN 1530 1460 IF G=94 THEN 1590 1465 IF G=120 THEN 1710 1466 IF G=121 THEN 1710 1470 CALL SOUND(-10,-3,10) 1480 CALL HCHAR(10+A,X,106) 1500 CALL HCHAR(10+A,X,32) 1510 NEXT A 1515 CALL VCHAR(9+A,X,32) 1520 GOTO 1013 1530 AMMO=AMMO+5 1540 FOR B=1 TO 3 1550 CALL SOUND(10,110,5,-5,1) 1560 NEXT B 1570 CALL VCHAR(9+A,X,32,2) 1580 GOTO 1013 1590 FUEL=FUEL+150 1600 FOR B=1 TO 9 1610 CALL SOUND(-1000,110+(B*100),10-B,111+(B*100),10-B,112+(B*100),10-B) 1620 NEXT B 1630 CALL VCHAR(9+A,X,32,2) 1640 GOTO 1013 1700 GOTO 1000 1710 Z=0 1712 CALL VCHAR(9+A,X,32,2) 1720 GOTO 1013 2000 REM *FIXED MINES* 2010 GOSUB 8000 2020 FOR A=1 TO 4 2030 CALL HCHAR(23,INT(RND*18)+8,112) 2040 NEXT A 2045 CALL SOUND(-100,440,9,441,9,442,9) 2050 GOTO 1080 2500 OB=INT(RND*8)+1 2510 GOTO 1040 2600 IF K2<>3 THEN 2650 2605 IF FUEL<1 THEN 1030 2610 CALL HCHAR(10,X,105) 2620 CALL SOUND(-100,-5,5) 2630 GOTO 1010 2650 IF K2<>12 THEN 2720 2655 IF AMMO<5 THEN 1030 2656 IF FUEL<100 THEN 1030 2660 CALL VCHAR(11,X,136,13) 2670 CALL SOUND(-100,-2,0) 2680 CALL VCHAR(11,X,32,13) 2690 AMMO=AMMO-5 2700 FUEL=FUEL-100 2705 Z=0 2710 GOTO 1010 2720 IF K2<>11 THEN 1030 2730 FOR A=1 TO 5 2735 B$=SEG$(M$,A,1) 2740 B=ASC(B$) 2750 CALL HCHAR(A,4,B) 2760 NEXT A 2761 M$="DEPTH: "&STR$(DEPTH) 2762 FOR A=1 TO LEN(M$) 2763 CALL HCHAR(1,5+A,ASC(SEG$(M$,A,1))) 2764 NEXT A 2765 M$="FUEL : "&STR$(FUEL) 2766 FOR A=1 TO LEN(M$) 2767 CALL HCHAR(2,5+A,ASC(SEG$(M$,A,1))) 2768 NEXT A 2769 M$="AMMO : "&STR$(AMMO) 2770 FOR A=1 TO LEN(M$) 2771 CALL HCHAR(3,5+A,ASC(SEG$(M$,A,1))) 2772 NEXT A 2773 M$="PAUSE" 2775 CALL KEY(0,K,S) 2780 A=A+1 2790 IF A=400 THEN 2810 2800 IF S<1 THEN 2775 2805 GOTO 1030 2810 CALL SOUND(200,220,5) 2820 CALL SOUND(200,440,5) 2830 CALL SOUND(200,880,5) 2840 A=1 2850 GOTO 2775 3000 REM SUPRISE MINES 3010 GOSUB 8000 3020 IF OBC<15 THEN 1080 3030 FOR A=1 TO 4 3040 CALL HCHAR(RND*9+11,RND*17+8,113) 3045 CALL SOUND(-10,-2,5) 3050 NEXT A 3060 GOTO 1080 3500 REM *WIDER WALLS* 3510 GOSUB 8000 3520 IF OBC<5 THEN 1080 3530 IF OBC/3<>INT(OBC/3)THEN 1080 3540 CALL HCHAR(23,8,101,18) 3550 CALL HCHAR(23,8+RND*10,32,2) 3560 CALL SOUND(-100,-3,10) 3570 GOTO 1080 4000 REM *ZAPPER* 4010 GOSUB 8000 4011 IF OBC>22 THEN 2020 4015 CALL SOUND(-300,1000,9,1001,5,1002,5) 4020 IF OBC<>8 THEN 4050 4030 CALL HCHAR(23,8,120) 4040 CALL HCHAR(23,25,121) 4045 Z=1 4046 GOTO 1080 4050 IF OBC<>22 THEN 2020 4060 IF Z=0 THEN 1080 4070 CALL HCHAR(9,9,128,16) 4080 CALL SOUND(-100,-3,1) 4090 GOTO 10000 4100 REM *SHORT ZAPPER* 4110 GOSUB 8000 4120 IF OBC>10 THEN 4140 4125 Z=1 4140 IF OBC<>14 THEN 4180 4150 CALL HCHAR(23,8,120) 4160 CALL HCHAR(23,25,121) 4170 GOTO 1080 4180 IF OBC<>28 THEN 1080 4185 IF OBC<14 THEN 1080 4190 IF Z=0 THEN 1080 4200 CALL HCHAR(9,9,128,16) 4210 CALL SOUND(-100,-3,1) 4220 GOTO 10000 5000 REM *MINE WALLS* 5010 GOSUB 8000 5012 IF OBC<5 THEN 1080 5015 CALL SOUND(-200,880,9,881,9,882,9) 5020 CALL HCHAR(RND*3+20,RND*12+8,112,RND*6+1) 5030 GOTO 1080 6000 REM *EVERY OTHER WALLS* 6010 GOSUB 8000 6015 CALL SOUND(-200,-7,10) 6020 IF OBC/2<>INT(OBC/2)THEN 1080 6021 IF OBC>30 THEN 1080 6022 IF OBC=0 THEN 1080 6030 CALL HCHAR(23,8,101,18) 6040 CALL HCHAR(23,RND*10+8,32) 6041 CALL HCHAR(23,RND*10+8,32) 6042 IF OBC<>35 THEN 6050 6045 CALL HCHAR(23,8,32,18) 6050 GOTO 1080 7000 REM CROSS CUTS 7010 GOSUB 8000 7020 IF OBC<14 THEN 1080 7025 CALL SOUND(-100,-7,10) 7030 IF OBC/2<>INT(OBC/2)THEN 7060 7040 CALL VCHAR(RND*8+11,RND*18+8,113,RND*4+1) 7050 GOTO 1080 7060 CALL HCHAR(RND*10+12,RND*11+8,112,RND*6+1) 7070 GOTO 1080 8000 REM *CHAMBER* 8010 PRINT "eeeee eeeee" 8020 OBC=OBC+1 8022 IF OBC<35 THEN 8030 8024 OBC=0 8026 OB=0 8030 RETURN 9000 REM *TERRAIN DATA* 9010 DATA "ffffffa bfffa bfffa bffff","eeeeeeea eeeeea deeee eeeee","eeeeeeee beeeeee eeeeaeeeee" 9020 DATA "eeeeeeee eeeeeec deeeeeeeee","eeeeeeec eeeeec deeeeeeee","eeeeeec deeec deeeeeee" 9030 DATA eeeeec dee eeeeeee,eeeec dc eeeeeee,eeeea beeeeeee 9040 DATA eeeeea beeeeeeeee,eeeeeea ba beeeeeeeeeee,eeeeeeea beeabeeeeeeeeeeeee 9050 DATA eeeeeeee eeeeeeeeeeeeeeeeee,eeeeeeec deeeeeeeeeeeeeeeee,eeeeeec deeeeeeeeeeeeeeee 9060 DATA eeeeec deeeeeeeeeeeeeee,eeeee beeeeeeeeeeeeeee,eeeee beeeeeeeeeeeeeeee 9070 DATA eeeee ^ beeeeeeeeeeeeeeeee,eeeeea eeeeeeeeeeeeeeeeeeee,eeeeeea deeeeeeeeeeeeeeeeeee 9080 DATA eeeeeee deeeeeeeeeeeeeeee,eeeeeee deeeeeeeeeeeeee,eeeeeee deeeeeeeeeee 9090 DATA eeeeeee deeeeeeeeee,eeeeeee ] ^ eeeeeeeeee,eeeeeee beeea eeeeeeeeeee 9100 DATA eeeeeec eeeeea eeeeeeeeeee,eeeeec beeeee deeeeeeeeee,eeeee beeeee eeeeeeeeeee 9110 DATA eeeeeabeeeeec deeeeeeeeee,eeeeeeeeeeec deeeeeeeee,eeeeeeeeeec ^ deeeeeeee 9120 DATA eeeeeeeeec bea beeeeeeee,eeeeeeeec beeeeabeeeeeeeeee,eeeeeeec eeeeeeeeeeeeeeeee 9130 DATA eeeeeee eeeeeeec deeeeee,eeeeeeea deeeec deeeee,eeeeeeee e ee e 9140 DATA eeeeeeee dc ^^^e,eeeeeeee eeeee,eeeeeeee beeeee 9150 DATA eeeeeeeea beeeeee,eeeeeeeeea ^ ] beeeeeee,eeeeeeeeee ba eeeeeeeeeeee 9160 DATA eeeeeeeeee bee deeeeeeeeeee,eeeeeeeeee eee deeeeeeeeee,eeeeeeeee beee deeeeeeee 9170 DATA eeeeeeeee beeec deeeeeee,eeeeeeeee eee eeeeeee,eeeeeeeee eee beeeeeee 9180 DATA eeeeeeeee eee beeeeeeee,eeeeeeeee eee beeeeeeeee,eeeeeeeee eee beeeeeeeeee 9190 DATA eeeeeeeec eee beeeeeeeeeee,eeeeeeee eee beeeeeeeeeeee,eeeeeec eee eeeeeeeeeeeeee 9200 DATA eeeeee beee eeeeeeeeeeeeee,eeeeeea beeee^eeeeeeeeeeeeee,eeeeeeebeeeee eeeeeeeeeeeeee 9210 DATA eeeeeeeeeeeee deeeeeeeeeeeee,eeeeeeeeeeeee deeeeeeeeeeee,eeeeeeeeeeeee deeeeeeeeeee 9220 DATA eeeeeeeeeeeec deeeeeeeeee,eeeeeeeeeeee eeeeeeeeee,eeeeeeeeeeee eeeeeeeeee 9230 DATA end 10000 CALL SOUND(-50,-2,5) 10001 IF FUEL>0 THEN 10010 10002 FUEL=0 10010 CALL HCHAR(9,X,103) 10020 CALL SOUND(-300,-5,0) 10030 CALL HCHAR(9,X,132) 10040 FOR A=1 TO 1000 10050 NEXT A 10060 PRINT "****STAR PROBE DESTROYED****" 10070 PRINT 10080 PRINT "TOTAL DEPTH:";DEPTH 10090 PRINT "RESERVE FUEL:";FUEL 10100 PRINT "RESERVE AMMO:";AMMO 10105 IF DEPTH58 THEN 10130 10170 CV=K-48 10180 GOTO 640 10200 PRINT "GOODBYE "