10 'CLOSE:CLEAR:SAVE"SUB1" 2230 '*** PHOTON TORPEDO PROCESS *** 2240 'SOUND 880,1 2250 SKSW=1:LOCATE 1,21:PRINT SPC(15) 2260 IF DAM(5)<>0 THEN GOTO 4950 2270 IF PH=0 THEN GOTO 2650 2280 LOCATE 5,18 2290 PRINT SPC(30):LOCATE 5,18,1 2300 INPUT "座標の指定 : [X,Y] ";U,P 2305 IF U=0 AND P=0 THEN CHAIN "STAR.N88",720,ALL 2310 IF (U>8)+(U<1) THEN GOTO 2280 2320 IF (P>8)+(P<1) THEN GOTO 2280 2330 LOCATE ,,0:DD=INT(RND(2)*10)+1 2340 IF DD<3 THEN GOTO 2570 2350 IF SP1(U,P)<>3 THEN GOTO 2570 2360 'SOUND 2000,1:SOUND 1000,2 2370 FOR I=18 TO 23:LOCATE 1,I:PRINT SPC(35):NEXT I:LOCATE 5,18:COLOR 7 2380 PRINT U;"-";P;"クリンゴンに命中 !!!":LOCATE 6+(U*2),2+P:PRINT "K":COLOR 7:SP1(U,P)=0:KLINGON=KLINGON-1 2385 FOR I=1 TO 5:CMD PLAY "@18V15L64CDEFGA":NEXT 2390 PH=PH-1:SP(EX1,EY1)=SP(EX1,EY1)-100 2400 KN=0 2410 FOR I=1 TO 8:FOR J=1 TO 8 2420 IF SP1(I,J)=3 THEN KN=KN+1 2430 NEXT J,I 2440 CON=2:IF KN=0 THEN CON=0 2450 IF ENTE<300 THEN CON=1 2460 FOR I=1 TO 1000:NEXT I 2470 LOCATE 44,7:PRINT "クリンゴン  :";KLINGON 2480 LOCATE 44,8:PRINT "光子魚雷    :";PH 2490 LOCATE 44,10:PRINT "状 況   : "; 2500 IF CON=0 THEN CON$=CON1$:PRINT CON$;" " 2510 IF CON=3 THEN CON$=CON4$:PRINT CON$ 2520 IF CON=1 THEN CON$=CON2$:COLOR 7:PRINT CON$;:COLOR 7:PRINT " " 2530 IF CON=2 THEN CON$=CON3$:COLOR 7:PRINT CON$;:COLOR 7:PRINT " " 2540 LOCATE 6+(U*2),2+P:PRINT "." 2550 LOCATE 5,18:PRINT SPC(30) 2560 GOTO 2230 2570 FOR I=18 TO 23:LOCATE 1,I:PRINT SPC(35):NEXT I:LOCATE 5,18 2580 CMD PLAY "@18V15L32BAGFEDC" 2590 PRINT "命中していません !!!":COLOR 7 2600 PH=PH-1 2610 FOR I=1 TO 1000:NEXT I 2620 LOCATE 44,8:PRINT "光子魚雷    :";PH 2630 LOCATE 5,18:PRINT SPC(30) 2640 GOTO 2230 2650 FOR I=1 TO 5:FOR J=1 TO 300:NEXT J:NEXT I 2660 LOCATE 1,18:PRINT SPC(35) 2670 LOCATE 1,19:PRINT SPC(35) 2680 LOCATE 5,18:COLOR 16 2690 PRINT "光子魚雷がありません !!!" 2700 FOR I=1 TO 3000:NEXT I 2710 COLOR 7 2720 LOCATE 5,18:PRINT SPC(30) 2730 GOTO 2230 2740 '*** PHASER PROCESS *** 2750 COLOR 7:LOCATE ,,1 2760 IF DAM(4)<>0 THEN GOTO 4950 2770 IF CMSW$<>"Y" THEN LOCATE 0,21:PRINT SPC(15):GOTO 2790 2780 GOSUB 4920 2790 LOCATE 0,15,1:PRINT "使用するエネルギー (最大";ENTE;"UNITS)"; 2800 INPUT PHE:LOCATE ,,0 2805 FOR I=1 TO 10:CMD PLAY "@19V15L64C&D&E&F&G&A&B":NEXT 2810 IF PHE=0 THEN GOSUB 4920:RETURN 2820 IF PHE>ENTE THEN SOUND 800,10:GOTO 2790 2830 FOR I=1 TO 8:FOR J=1 TO 8 2840 IF SP1(J,I)=3 THEN KK=KK+1 2850 NEXT J,I 2860 IF KK=0 THEN LOCATE 5,17:PRINT "クリンゴンはいません !!!":FOR I=1 TO 1500:NEXT I:LOCATE 15,5:PRINT SPC(45):LOCATE 5,17:PRINT SPC(30);:LOCATE 0,15:PRINT SPC(50);:RETURN 2870 PHEE=INT(PHE/KK):KD=0 2880 FOR I=0 TO KK-1 2890 VB=INT(RND(2)*10)+1 2900 K8(I+1)=INT(K8(I+1)-PHEE-VB) 2910 IF K8(I+1)=<0 THEN LOCATE 5,17+I:PRINT "クリンゴン(";I+1;")を破壊しました !!!":KLINGON=KLINGON-1:KD=KD+1:SP(EX1,EY1)=SP(EX1,EY1)-100:GOTO 2930 2920 LOCATE 5,17+I:PRINT PHEE+VB;"UNITS の損失をクリンゴン(";I+1;")に与えました !!!" 2930 NEXT I 2940 KK=0:ENTE=ENTE-PHE 2950 IF ENTE=>300 THEN GOTO 2990 2960 CON=1:CON$=CON2$ 2970 LOCATE 44,10:PRINT "状 況   : "; 2980 PRINT CON$;:COLOR 7:PRINT " " 2990 IF KD=0 THEN FOR I=1 TO 3000:NEXT I:GOTO 3160 3000 KDX=KD 3010 FOR I=1 TO 8:FOR J=1 TO 8 3020 IF SP1(I,J)=3 THEN LOCATE 6+(I*2),2+J:PRINT "K":KDX=KDX-1:IF KDX=0 THEN I=8:J=8 3030 NEXT J,I 3040 FOR I=1 TO 1000:NEXT I:COLOR 7 3050 FOR I=1 TO 8:FOR J=1 TO 8 3060 IF SP1(I,J)=3 THEN LOCATE 6+(I*2),2+J:PRINT ".":SP1(I,J)=0:KD=KD-1:IF KD=0 THEN I=8:J=8 3070 NEXT J,I 3080 IF SP(EX1,EY1)>99 THEN GOTO 3110 3090 IF ENTE<300 THEN GOTO 3110 3100 CON=0:CON$=CON1$ 3110 LOCATE 44,7:PRINT "クリンゴン  :";KLINGON 3120 LOCATE 44,9:PRINT "エネルギー :";ENTE 3130 LOCATE 44,10:PRINT "状 況   : "; 3140 IF CON=2 THEN PRINT CON$;:PRINT " ":GOTO 31603150 IF ENTE < 300 THEN COLOR 2:PRINT CON$;:COLOR 7:PRINT " " ELSE PRINT CON$;" " 3150 IF ENTE<300 THEN COLOR 7:PRINT CON$;:COLOR 7:PRINT " " ELSE PRINT CON$;" " 3160 FOR I=1 TO 10 3170 IF K8(I)>0 THEN J=I:I=10 3180 NEXT I 3190 FOR I=1 TO 10 3200 IF J>10 THEN K8(I)=0 ELSE K8(I)=K8(J) 3210 J=J+1 3220 NEXT I 3230 FOR I=15 TO 21:LOCATE 1,I:PRINT SPC(55):NEXT I 3240 CHAIN "STAR.N88",720,ALL 3250 '*** GALACTIC MAP DISPLAY PROCESS *** 3260 REM SOUND LOCATE ,,1 3270 IF DAM(6)<>0 THEN GOTO 4950 3280 CLS:V2=3:FOR I=1 TO 8:LOCATE 5,V2 3290 PRINT "+---+---+---+---+---+---+---+---+":V2=V2+1:LOCATE 5,V2 3300 PRINT "| | | | | | | | |":V2=V2+1 3310 NEXT I:LOCATE 5,V2:PRINT "+---+---+---+---+---+---+---+---+":V2=4:V3=6 3320 LOCATE 5,2:PRINT " 1 2 3 4 5 6 7 8 " 3330 LIN=4:FOR I=1 TO 8:LOCATE 1,LIN:PRINT I:LIN=LIN+2:NEXT I 3340 LOCATE 50,4:PRINT "左 : クリンゴンの数" 3350 LOCATE 50,6:PRINT "中 : ベース基地の数" 3360 LOCATE 50,8:PRINT "右 : 星  の  数" 3370 LOCATE 48,10:COLOR 2:PRINT "赤: エンタープライズの位置":COLOR 7 3380 FOR I=1 TO 8:FOR J=1 TO 8:A$=STR$(SP(J,I)) 3390 IF MAPS(J,I)=0 THEN A$="***":COLOR 6:GOTO 3440 3400 IF LEN(A$)=4 THEN A$=MID$(A$,2,3):GOTO 3430 3410 IF LEN(A$)=3 THEN A$="0"+MID$(A$,2,2):GOTO 3430 3420 IF LEN(A$)=2 THEN A$="00"+MID$(A$,2,1) 3430 IF J=EX1 AND I=EY1 THEN COLOR 2 ELSE COLOR 4 3440 LOCATE V3,V2:PRINT A$:COLOR 7:IF V3>33 THEN V2=V2+2:V3=6:GOTO 3460 3450 V3=V3+4 3460 NEXT J,I 3470 LOCATE 2,23:COLOR 7:PRINT "==> ";:COLOR 7:PRINT "何かキーを押してください": REM PLAY "L7B0" 3480 IF INKEY$="" THEN GOTO 3480 3490 CHAIN "STAR.N88",720,ALL 3500 '*** SELF DESTRUCTION PROCESS *** 3501 *JIBAKU 3510 REM SOUND 880,1 3520 COLOR 7:LOCATE 0,14 3530 GOSUB 4920 3540 COLOR 2 3550 LOCATE 5,15:PRINT "ENTERPRISE自爆指令" 3560 COLOR 6 3570 LOCATE 5,17:PRINT "自爆指令の実行には艦長のPASSWORDが必要です" 3580 LOCATE 5,18:PRINT "PASSWORDをどうぞ" 3590 COLOR 0:LOCATE 5,20 3600 INPUT PASS$ 3610 IF PASS$<>PASSWORD$ THEN GOSUB 4920:RETURN 3620 CLS:LOCATE 28,10,0:COLOR 2 3630 PRINT "ENTERPRISE自爆指令" 3640 FOR I=15 TO 0 STEP -1 3650 'OUND 3000,1:SOUND 2000,1 3660 COLOR 7:LOCATE 32,15,0:PRINT "爆発まであと "; 3670 PRINT USING "##";I; 3680 PRINT " 秒" 3685 CMD PLAY ,,,"V15L32N85R32N70" 3690 FOR J=1 TO 400 3700 NEXT J,I 3710 ' 3720 ' 3730 ' 3740 ' 3750 COLOR 7,0:CLS 3760 LOCATE 20,10 3770 PRINT "自爆指令完了!!! 永久にさらば !!!" 3780 COLOR 0:LOCATE 1,23,1:END 4920 '*** CLEAR DISPLAY LIN 12-23 PROCESS *** 4930 FOR II=12 TO 23:LOCATE 0,II:PRINT SPC(78);:PRINT " " 4940 NEXT II:RETURN 4950 '*** DAMAGE PROCESS *** 4960 COLOR 7 4970 ' DAM(1)>0 THEN GOSUB 5040 4980 IF DAM(2)>0 THEN GOSUB 5070 4990 IF DAM(3)>0 THEN GOSUB 5090 5000 IF DAM(4)>0 THEN GOSUB 5110 5010 IF DAM(5)>0 THEN GOSUB 5130 5020 IF DAM(6)>0 THEN GOSUB 5150 5030 COLOR 7:LOCATE 1,23:PRINT SPC(79) 5040 RETURN 5050 LOCATE 30,23:PRINT "ワープ・エンジン故障 !! 修理出来ません !!":NEXT I 5060 FOR I=1 TO 1000:NEXT I:RETURN 5070 LOCATE 30,23:PRINT "短距離レーダー故障 !!  修理に";DAM(2);"年必要 !!" 5080 FOR I=1 TO 1500:NEXT I:RETURN 5090 LOCATE 30,23:PRINT "長距離レーダー故障 !!  修理に";DAM(3);"年必要 !!" 5100 FOR I=1 TO 1500:NEXT I:RETURN 5110 LOCATE 30,23:PRINT "フェーザー砲故障 !!   修理に";DAM(4);"年必要 !!" 5120 FOR I=1 TO 1500:NEXT I:RETURN 5130 LOCATE 30,23:PRINT "光子魚雷故障 !!     修理に";DAM(5);"年必要 !!" 5140 FOR I=1 TO 1500:NEXT I:RETURN 5150 LOCATE 30,23:PRINT "銀河系地図装置故障 !!   修理に";DAM(6);"年必要 !!" 5160 FOR I=1 TO 1500:NEXT I:RETURN 5160 FOR I=1 TO 3000:NEXT I:RETURN 0 IF SP1(I,J)=3 THEN LOCATE 6+(I*2),2+J:PRINT ".":SP1(I,J)=0:KD=KD-1:IF KD=0 THEN I=8:J=8 3070 NEXT J,I