10 ' CLEAR:CLOSE:save"STARTREK" 20 '********************************** 30 '* * 40 '* STARTREK FOR IBM 5550 * 50 '* イショクバン PC-8801mk2SR イコウ * 60 '********************************** 70 ' 80 CLEAR:CLS:OPTION BASE1:NEW CMD 85 SCREEN 4:WIDTH 80,25:CONSOLE ,,0,1 90 DIM SP(8,8),SP1(8,8),MAPS(8,8),DAM(6),K8(10),BSX(4),BSY(4),DCT(4) 100 ENTE=10000:PH=20:YEAR=3000:PAI=3.14159 110 FOR I=1 TO 4 120 DCT(I)=INT(RND(2)*3)+2 130 NEXT I 140 CON1$="緑":CON2$="黄":CON3$="赤":CON4$="補給" 150 LOCATE 1,1 160 GOSUB 5170 170 PRINT "   宇宙 ... それは人類に残された最後の開拓地である。" 180 PRINT " " 190 PRINT "  これは人類最初の試みとして600年間の調査飛行に飛びたった" 200 PRINT " " 210 PRINT "   宇宙船USS−ENTERPRISE号の驚異に満ちた物語である。" 220 REM PLAY "L7A0" 230 REM COLOR 16 240 LOCATE 20,20,0:PRINT "==> "; 250 COLOR 7 260 PRINT "スペース・キーを押してください" 270 IF INKEY$=" " THEN GOTO 290 280 GOTO 270 290 CLS:LOCATE 12,1,0:PRINT "     **** 宇宙大作戦解説 ****":PRINT " " 300 PRINT "    あなたはエンタープライズ号の艦長です" 310 PRINT "    宇宙連邦はクリンゴン帝国と戦闘状態に入りました。" 320 PRINT "    あなたは600年以内にクリンゴン戦艦を捜索、発見して" 330 PRINT "    これを撃破してください。" 340 LOCATE 14,8:PRINT "   << COMMAND MENU >>" 350 V=10 360 LOCATE 50,V:V=V+1:PRINT "1 ... NAVIGATION COMMAND [移  動   ]" 370 LOCATE 50,V:V=V+1:PRINT "2 ... SHORTRANGE SENSOR [短距離レーダー]" 380 LOCATE 50,V:V=V+1:PRINT "3 ... LONGRANGE SENSOR [長距離レーダー]" 390 LOCATE 50,V:V=V+1:PRINT "4 ... PHASER CANNON [フェーザー砲 ]" 400 LOCATE 50,V:V=V+1:PRINT "5 ... PHOTON TORPEDO [光子魚雷   ]" 410 LOCATE 50,V:V=V+1:PRINT "6 ... GALACTIC MAP [銀河系地図  ]" 420 LOCATE 50,V:V=V+3:PRINT "7 ... SELF DESTRUCTION [自  爆   ]" 430 LOCATE 12,V:PRINT "==> ";:COLOR 6:PRINT "スペース・キーを押してください":COLOR 7 440 IF INKEY$=" " THEN GOTO 460 450 GOTO 440 460 LOCATE 1,V:PRINT SPC(70) 470 LOCATE 12,22,1 480 INPUT "==> 自爆コード ";PASSWORD$ 490 LOCATE 12,23,1 500 INPUT "==> ゲーム中コマンド・メニューを表示しますか Y/any ",CMSW$ 510 IF CMSW$="y" THEN CMSW$="Y" 520 CLS:RANDOMIZE ((VAL(MID$(TIME$,7,8)))*100)/2 530 LOCATE 1,1,0 540 V=INT(RND(2)*30)+1:IF V<10 THEN GOTO 540 550 V1=V:KLINGON=V 560 FOR I=1 TO V 570 IF V2=1 THEN GOTO 610 580 X=INT(RND(2)*8)+1:Y=INT(RND(2)*8)+1:IF SP(Y,X)<>0 THEN GOTO 580 590 K=INT(RND(2)*5)+1:V1=V1-K:IF V1<0 THEN V1=V1+K:GOTO 590 600 SP(Y,X)=K*100:IF V1=0 THEN V2=1 610 NEXT I 620 K=INT(RND(2)*4)+1:BASE=K:FOR I=1 TO K 630 X=INT(RND(2)*8)+1:Y=INT(RND(2)*8)+1 640 IF SP(X,Y) MOD 100<>0 THEN GOTO 630 ELSE SP(X,Y)=SP(X,Y)+10:BSX(I)=X:BSY(I)=Y 650 NEXT I 660 ST=INT(RND(2)*80)+50:FOR I=1 TO ST 670 X=INT(RND(2)*8)+1:Y=INT(RND(2)*8)+1:IF SP(X,Y) MOD 10>=8 THEN GOTO 670 680 SP(X,Y)=SP(X,Y)+1:NEXT I 690 EX1=INT(RND(2)*8)+1:EY1=INT(RND(2)*8)+1:SP(EX1,EY1)=SP(EX1,EY1)+1 700 MAPS(EX1,EY1)=1 710 EX2=INT(RND(2)*8)+1:EY2=INT(RND(2)*8)+1 720 ' 730 GOSUB 4700 740 GOSUB 3970 750 IF SP1(EX2,EY2)<>5 THEN GOTO 850 760 GOSUB 5840 770 CO=INT(RND(2)*360)+1 780 WF=INT(RND(2)*79)+1:IF WF<10 THEN GOTO 780 790 ENTE=ENTE+(WF*24):YEAR=YEAR+WF 800 FOR I=1 TO 6 810 IF DAM(I)>0 THEN DAM(I)=DAM(I)+WF 820 NEXT I 830 GOSUB 1330 840 GOTO 740 850 GOSUB 890 860 IF (ENTE<=0)+(YEAR<=0) THEN GOTO 4430 870 IF KLINGON=0 THEN GOTO 4430 880 GOTO 740 890 IF CMSW$<>"Y" THEN GOTO 980 900 V=15 910 LOCATE 40,V:V=V+1:PRINT "1 NAVIGATION COMMAND [移  動   ]" 920 LOCATE 40,V:V=V+1:PRINT "2 SHORTRANGE SENSOR [短距離レーダー]" 930 LOCATE 40,V:V=V+1:PRINT "3 LONGRANGE SENSOR [長距離レーダー]" 940 LOCATE 40,V:V=V+1:PRINT "4 PHASER [フェーザー砲 ]" 950 LOCATE 40,V:V=V+1:PRINT "5 PHOTON TORPEDO [光子魚雷   ]" 960 LOCATE 40,V:V=V+1:PRINT "6 GALACTIC MAP [銀河系地図  ]" 970 LOCATE 40,V:V=V+3:PRINT "7 SELF DESTRUCTION [自  爆   ]" 980 LOCATE 5,21:PRINT SPC(15):LOCATE 5,21,1 990 REM COLOR 16 1000 LOCATE 0,23:PRINT SPC(15);:LOCATE 0,23:PRINT " ==> "; 1010 'COLOR 0 1020 CMD PLAY ,,,"V15L16G":PRINT "命令  "; 1030 C$=INPUT$(1) 1040 IF C$="" THEN GOTO 1030 ELSE IF C$=" " THEN GOTO 1030 1050 LOCATE ,,0 1060 V$=C$ 1070 KE=ASC(C$):IF (KE<49)+(KE>55) THEN GOTO 980 1080 KA=KE-48:SKSW=0 1090 ON KA GOSUB 1110,3790,1640,2740,2230,3250,3500 1100 RETURN 1110 '*** NAVIGATION PROCESS *** 1120 REM SOUND 1130 IF DAM(1)<>0 THEN GOTO 4950 1140 LOCATE 1,21:PRINT SPC(15) 1150 LOCATE 5,16,1:INPUT "ワープする方向  ";COI 1160 IF COI=6 THEN CO=0:GOTO 1250 1170 IF COI=3 THEN CO=45:GOTO 1250 1180 IF COI=2 THEN CO=90:GOTO 1250 1190 IF COI=1 THEN CO=135:GOTO 1250 1200 IF COI=4 THEN CO=180:GOTO 1250 1210 IF COI=7 THEN CO=225:GOTO 1250 1220 IF COI=8 THEN CO=270:GOTO 1250 1230 IF COI=9 THEN CO=315:GOTO 1250 1240 LOCATE 5,16,1:PRINT SPC(30):GOTO 1150 1250 LOCATE 5,18:INPUT "ワープする数   ";WF 1260 IF WF>79 THEN BEEP:LOCATE 18,17:PRINT SPC(10):GOTO 1250 1270 LOCATE ,,1 1280 IF WF>9 THEN GOTO 1330 1290 IF WF>7 THEN BEEP:LOCATE 18,17:PRINT SPC(10):GOTO 1250 1300 X1=COS(CO*PAI/180)*WF:YEAR=YEAR-WF 1310 Y1=SIN(CO*PAI/180)*WF 1320 GOTO 1360 1330 X1=COS(CO*PAI/180)*WF/10:YEAR=YEAR-WF 1340 Y1=SIN(CO*PAI/180)*WF/10 1350 GOTO 1410 1360 SP1(EX2,EY2)=0:CX=EX1:CY=EY1 1370 EX2=INT(EX2+X1):EY2=INT(EY2+Y1):ENTE=ENTE-INT((WF/10)*24) 1380 IF EX2>8 OR EX2<1 THEN EX2=INT(RND(2)*8)+1 1390 IF EY2>8 OR EY2<1 THEN EY2=INT(RND(2)*8)+1 1400 GOTO 1470 1410 EX1=INT(EX1+X1):EY1=INT(EY1+Y1):GOSUB 5320:GOSUB 5170 1420 ENTE=ENTE-(WF*20) 1430 IF EX2>8 THEN EX1=EX1+1:EX2=INT(RND(2)*8)+1:GOSUB 5200 1440 IF EX2<1 THEN EX1=EX1-1:EX2=INT(RND(2)*8)+1:GOSUB 5200 1450 IF EY2>8 THEN EY1=EY1+1:EY2=INT(RND(2)*8)+1:GOSUB 5200 1460 IF EY2<1 THEN EY1=EY1-1:EY2=INT(RND(2)*8)+1:GOSUB 5200 1470 IF SP1(EX2,EY2)=2 THEN SP1(EX2,EY2)=5:CON=3:GOTO 1500 1480 IF SP1(EX2,EY2)<>0 THEN EX2=0:EY2=0:GOTO 1380 1490 SP1(EX2,EY2)=4 1500 STO=INT(RND(2)*40)+1 1510 YRS=WF 1520 GOSUB 5790 1530 IF WF>8 THEN GOTO 1540 ELSE GOTO 1580 1540 FOR I=2 TO 10 1550 REM PLAY "MBMLO3L10CL20F#0MF" 1560 IF I<11 THEN LOCATE I,1:PRINT SPC(22) 1570 NEXT I 1580 LOCATE 5,16:PRINT SPC(30):LOCATE 5,18:PRINT SPC(30) 1590 IF STO=1 THEN LOCATE 5,23:COLOR 2:PRINT "宇宙嵐が来ました !!!!":GOSUB 4860:COLOR 7 1600 IF CX<>EX1 THEN GOSUB 4700:GOTO 1620 1610 IF CY<>EY1 THEN GOSUB 4700 1620 CX=0:CY=0 1630 RETURN 1640 '*** LONGRANGE SENSOR PROCESS *** 1650 REM SOUND 880,1 1660 LOCATE 21,1:PRINT SPC(15) 1670 IF DAM(3)<>0 THEN GOTO 4950 1680 I=EX1 1690 J=EY1+1 1700 IF J>8 THEN Z1=0:GOTO 1720 1710 MAPS(I,J)=1:Z1=SP(I,J) 1720 J=EY1-1 1730 IF J<1 THEN Z2=0:GOTO 1750 1740 MAPS(I,J)=1:Z2=SP(I,J) 1750 I=EX1+1 1760 IF I>8 THEN Z3=0:Z4=0:Z5=0:GOTO 1850 1770 J=EY1 1780 MAPS(I,J)=1:Z3=SP(I,J) 1790 J=J+1 1800 IF J>8 THEN Z4=0:GOTO 1820 1810 MAPS(I,J)=1:Z4=SP(I,J) 1820 J=EY1-1 1830 IF J<1 THEN Z5=0:GOTO 1850 1840 MAPS(I,J)=1:Z5=SP(I,J) 1850 I=EX1-1 1860 IF I<1 THEN Z6=0:Z7=0:Z8=0:GOTO 1950 1870 J=EY1 1880 MAPS(I,J)=1:Z6=SP(I,J) 1890 J=EY1-1 1900 IF J<1 THEN Z7=0:GOTO 1920 1910 MAPS(I,J)=1:Z7=SP(I,J) 1920 J=J+2 1930 IF J>8 THEN Z8=0:GOTO 1950 1940 MAPS(I,J)=1:Z8=SP(I,J) 1950 LOCATE 27,2:PRINT "+---+---+---+" 1960 LOCATE 27,3:PRINT "| | | |" 1970 LOCATE 27,4:PRINT "+---+---+---+" 1980 LOCATE 27,5:PRINT "| | | |" 1990 LOCATE 27,6:PRINT "+---+---+---+" 2000 LOCATE 27,7:PRINT "| | | |" 2010 LOCATE 27,8:PRINT "+---+---+---+" 2020 LOCATE 33,7 2030 IF (Z1\100)>0 THEN PRINT "*" 2040 LOCATE 33,3 2050 IF (Z2\100)>0 THEN PRINT "*" 2060 LOCATE 37,5 2070 IF (Z3\100)>0 THEN PRINT "*" 2080 LOCATE 37,7 2090 IF (Z4\100)>0 THEN PRINT "*" 2100 LOCATE 37,3 2110 IF (Z5\100)>0 THEN PRINT "*" 2120 LOCATE 29,5 2130 IF (Z6\100)>0 THEN PRINT "*" 2140 LOCATE 29,5 2150 IF (Z7\100)>0 THEN PRINT "*" 2160 LOCATE 29,7 2170 IF (Z8\100)>0 THEN PRINT "*" 2180 LOCATE 33,5:PRINT "E" 2190 FOR I=1 TO 1000:NEXT I 2200 FOR I=1 TO 8:LOCATE 27,I:PRINT SPC(13):NEXT I 2210 SKSW=1 2220 RETURN 2225 '*** PROGRAM CHAIN ルーチン 2230 CHAIN "SUB1",,ALL 3250 CHAIN "SUB1",3250,ALL 3500 CHAIN "SUB1",3500,ALL 3790 '*** SHORTRANGE SENSOR *** 3800 REM SOUND 188.1 3810 LOCATE 1,21:PRINT SPC(15) 3820 IF DAM(2)<>0 THEN GOTO 4950 3830 KNS=0 3840 FOR I=1 TO 8:FOR J=1 TO 8 3850 IF SP1(I,J)=3 THEN KNS=KNS+1 3860 NEXT J,I 3870 IF KNS=0 THEN SKSW=1:RETURN 3880 LIN=15 3890 FOR I=1 TO KNS 3900 LOCATE 5,LIN:PRINT "クリンゴン(";MID$(STR$(I),2,1);")のエネルギーは";K8(I);"UNITS" 3910 LIN=LIN+1 3920 NEXT I 3930 FOR I=1 TO 1500:NEXT I 3940 SKSW=1 3950 FOR I=15 TO 22:LOCATE 1,I:PRINT SPC(43):NEXT I 3960 RETURN 3970 '*** DISPLAY PROCESS *** 3980 ' IF SKSW=1 THEN GOTO 4370 3990 CLS 4000 FOR I=1 TO 8:LOCATE 5,2+I,0:PRINT I:NEXT I 4010 FOR I=2 TO 16 STEP 2:LOCATE 5+I,2:PRINT I/2:NEXT I 4020 IF DAM(2)<>0 THEN GOSUB 4950:GOTO 4130 4030 FOR I=1 TO 8:FOR J=1 TO 8:V1=SP1(I,J) 4040 IF V1=0 THEN V1$=".":COLOR 7 4050 IF V1=1 THEN V1$="*":COLOR 3 4060 IF V1=2 THEN V1$="B":COLOR 7 4070 IF V1=3 THEN V1$="K":COLOR 2 4080 IF V1=4 THEN V1$="E":COLOR 4 4090 IF V1=5 THEN V1$="D":COLOR 5 4100 LOCATE 6+(I*2),2+J 4110 IF V1$="D" THEN PRINT V1$ ELSE PRINT V1$ 4115 COLOR 7 4120 NEXT J,I 4130 V=44:VS=66 4140 IF CON=0 THEN CON$=CON1$ ELSE IF CON=1 THEN CON$=CON2$ 4150 IF CON=2 THEN CON$=CON3$ ELSE IF CON=3 THEN CON$=CON4$ 4160 LOCATE V,2:PRINT "------ 状 況 報 告 ------" 4170 LOCATE VS,3:PRINT " " 4180 LOCATE V,3:PRINT "宇宙暦   :";YEAR 4190 LOCATE VS,4:PRINT " " 4200 LOCATE V,4:PRINT "年 数 :";YEAR-2400 4210 LOCATE VS,5:PRINT " " 4220 LOCATE V,5:PRINT "大宇宙  :";EX1;"-";EY1 4230 LOCATE VS,6:PRINT " " 4240 LOCATE V,6:PRINT "小宇宙 :";EX2;"-";EY2 4250 LOCATE VS,7:PRINT " " 4260 LOCATE V,7:PRINT "クリンゴン  :";KLINGON 4270 LOCATE VS,8:PRINT " " 4280 LOCATE V,8:PRINT "光子魚雷    :";PH 4290 LOCATE VS,9:PRINT " " 4300 LOCATE V,9:PRINT "エネルギー :";ENTE 4310 LOCATE VS,10:PRINT " " 4320 LOCATE V,10:PRINT "状 況   : "; 4330 IF CON=0 THEN COLOR 4:PRINT CON$;" ":COLOR 7 4340 IF CON=3 THEN COLOR 4:PRINT CON$;" ":COLOR 7 4350 IF CON=1 THEN COLOR 6:PRINT CON$;:COLOR 7:PRINT " " 4360 IF CON=2 THEN COLOR 2:PRINT CON$;:COLOR 7:PRINT " " 4370 MAPS(EX1,EY1)=1:K7=0 4380 FOR T=1 TO 8:FOR Q=1 TO 8 4390 IF SP1(T,Q)=3 THEN K7=K7+1 4400 NEXT Q,T 4410 IF CON=2 THEN HIT=INT(RND(2)*60*K7)+1:GOSUB 5370 4420 RETURN 4430 '*** GAME END PROCESS *** 4440 CLS 4450 IF ENTE=<0 THEN GOTO 4580 4460 'LAY "MBMNO3L2GL4E.L8FL2GL2CL8DL8EL8FL8GL4FL4EL2D.P4" 4470 CLS:PRINT "    宇宙連邦艦隊司令部からUSS−ENTERPRISE艦長へ" 4480 PRINT " " 4490 PRINT "    貴官の奮闘に感謝する。今回の戦闘は宇宙連邦軍の勝利に終わり" 4500 PRINT " " 4510 PRINT "    クリンゴン帝国との間で和平会議が行なわれる事になった。" 4520 PRINT " " 4530 PRINT "    宇宙艦隊司令部は貴官を一階級昇進させ準将に任命する。" 4540 PRINT " " 4550 PRINT "                 宇宙連邦艦隊司令長官 竜  達 也" 4560 'LAY "MBO3L8EL8FL8GL8AL4GL4GO4L2CO3L2GL4FL4EL4D.L8CL2C.P4" 4570 GOTO 5260 4580 FOR I=1 TO 5000:NEXT I 4590 'LAY "MBMNO1L2AL4A.L8AL2AL2AO2L4C.O1L8BL4B.L8AL4A.L8G#L2A" 4600 CLS:PRINT "    宇宙連邦艦隊司令部からUSS−ENTERPRISE艦長へ" 4610 PRINT " " 4620 PRINT "    貴官の奮闘に感謝する。しかし戦闘はクリンゴン帝国の勝利に終わり" 4630 PRINT " " 4640 PRINT "    宇宙連邦はクリンゴン帝国に占領されてしまった。" 4650 PRINT " " 4660 PRINT "    宇宙艦隊司令部はドジで間ぬけな貴官を島流しにすることにした。" 4670 PRINT " " 4680 PRINT "                 宇宙連邦艦隊司令長官 沖  之 丞" 4690 GOTO 5260 4700 '*** SPACE CALUCULATION PROCESS *** 4710 IF EX1>8 THEN EX1=8 4720 IF EY1>8 THEN EY1=8 4730 IF EX1<1 THEN EX1=1 4740 IF EY1<1 THEN EY1=1 4750 IF SP(EX1,EY1)=>100 THEN CON=2 4760 IF SP(EX1,EY1)<100 THEN CON=0 4770 IF ENTE<300 THEN CON=1 4780 IF DO=1 THEN CON=3 4790 V1=SP(EX1,EY1)\100:V2=(SP(EX1,EY1) MOD 100)\10:V3=(SP(EX1,EY1) MOD 100) MOD 10 4800 SP1(EX2,EY2)=4 4810 V4=3:FOR I=1 TO V1:GOSUB 4840:NEXT I 4820 V4=2:FOR I=1 TO V2:GOSUB 4840:NEXT I 4830 V4=1:FOR I=1 TO V3:GOSUB 4840:NEXT I:V4=0:RETURN 4840 X=INT(RND(2)*8)+1:Y=INT(RND(2)*8)+1:IF SP1(X,Y)<>0 THEN GOTO 4840 4850 SP1(X,Y)=V4:RETURN 4860 ' 4870 EX1=INT(RND(2)*8)+1:EY1=INT(RND(2)*8)+1 4880 SS=INT(RND(2)*6)+1 4890 SSD=INT(RND(2)*99)+1 4900 DAM(SS)=DAM(SS)+SSD 4910 GOSUB 4960:RETURN 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 5170 '*** RESTORE KLINGON'S POWER PROCESS *** 5180 FOR I=1 TO 10 5190 K8(I)=600:NEXT I:RETURN 5200 '*** CLEAR SMALL SPACE PROCESS *** 5210 FOR I=1 TO 8:FOR J=1 TO 8 5220 SP1(I,J)=0 5230 NEXT J,I 5240 RETURN 5250 '*** END OF GAME PROCESS *** 5260 LOCATE 5,23:PRINT "==> 再びゲームを行いますか Y/N "; 5270 REP$=INKEY$ 5280 IF REP$="Y" OR REP$="y" THEN GOTO 80 5290 IF REP$="N" OR REP$="n" THEN GOTO 5300 ELSE GOTO 5270 5300 CLS:LOCATE 10,25:PRINT "それでは皆さんさようなら !!" 5310 LOCATE 22,1,1:CLEAR:KEY ON:END 5320 ' 5330 FOR I=1 TO 8:FOR J=1 TO 8 5340 SP1(J,I)=0 5350 NEXT J,I 5360 RETURN 5370 '*** ATTACK FROM KLINGON PROCESS *** 5380 KLA=INT(RND(2)*10)+1:IF KLA>5 THEN RETURN 5390 LOCATE 5,18:COLOR 2:PRINT "クリンゴンより攻撃 !!!":COLOR 7 5400 HITC=0:FOR I=1 TO K7:HITC=HITC+K8(I):NEXT I 5410 IF HIT>HITC THEN HIT=HITC 5420 HITI=INT(HIT):ENTE=ENTE-HITI:LOCATE 5,19:PRINT "エネルギー損失 ";HITI;"UNITS" 5430 LOCATE 44,9:PRINT "エネルギー :";ENTE 5440 IF ENTE=>300 THEN GOTO 5480 5450 CON=1:CON$=CON2$ 5460 LOCATE 44,10:PRINT "状 況   : "; 5470 COLOR 7:PRINT CON$;:COLOR 7:PRINT " " 5480 KD=0 5490 FOR I=1 TO K7:K8(I)=INT(K8(I)-HITI/K7):NEXT I 5500 FOR I=1 TO K7 5510 IF K8(I)=<0 THEN FOR J=16 TO 20:LOCATE J,1:PRINT SPC(35):NEXT J:I=K7 5520 NEXT I 5530 FOR I=1 TO K7 5540 IF K8(I)=<0 THEN LOCATE 2,14+I:PRINT "クリンゴン(";I;")が";:COLOR 6:PRINT "自滅";:COLOR 7:PRINT "しました !!!":KLINGON=KLINGON-1:KD=KD+1:SP(EX1,EY1)=SP(EX1,EY1)-100:FOR J=1 TO 1500:NEXT J 5550 NEXT I 5560 IF KD=0 THEN FOR I=1 TO 1000:NEXT I:LOCATE 0,18:PRINT SPC(35):LOCATE 0,19:PRINT SPC(35):RETURN 5570 COLOR 16,1:KDX=KD 5580 FOR I=1 TO 8:FOR J=1 TO 8 5590 IF SP1(I,J)=3 THEN LOCATE 2+J,6+(I*2):PRINT "K":KDX=KDX-1:IF KDX=0 THEN I=8:J=8 5600 NEXT J,I 5610 FOR I=1 TO 3000:NEXT I:COLOR 0,0 5620 FOR J=15 TO 19:LOCATE J,1:PRINT SPC(35):NEXT J 5630 FOR I=1 TO 8:FOR J=1 TO 8 5640 IF SP1(I,J)=3 THEN LOCATE 2+J,6+(I*2):PRINT ".":SP1(I,J)=0:KD=KD-1:IF KD=0 THEN I=8:J=8 5650 NEXT J,I 5660 IF SP(EX1,EY1)<100 THEN CON=0:CON$=CON1$ 5670 LOCATE 7,44:PRINT "クリンゴン  :";KLINGON 5680 LOCATE 10,44:PRINT "状 況   : "; 5690 IF CON=1 THEN COLOR 16:PRINT CON$;:COLOR 0:PRINT " " 5700 IF CON=2 THEN COLOR 16,1:PRINT CON$;:COLOR 0,0:PRINT " " ELSE PRINT CON$;" " 5710 FOR I=1 TO 10 5720 IF K8(I)>0 THEN J=I:I=10 5730 NEXT I 5740 FOR I=1 TO 10 5750 IF J>10 THEN K8(I)=0 ELSE K8(I)=K8(J) 5760 J=J+1 5770 NEXT I 5780 RETURN 5790 FOR I=1 TO 6 5800 IF DAM(I)>0 THEN DAM(I)=DAM(I)-YRS 5810 IF DAM(I)<0 THEN DAM(I)=0 5820 NEXT I 5830 RETURN 5840 '*** DOCK'IN SUB PROCESS *** 5850 IB=1:FOR I=1 TO 4 5860 IF BSX(I)=EX1 AND BSY(I)=EY1 THEN IB=I:I=4 5870 NEXT I 5880 IF DCT(IB)=0 THEN PLAY "MLO3L8CO2L8BL8A#L8AL8G#L8GL8F#L8FL4E":LOCATE 16,5:PRINT "この宇宙基地には補給備品がありません":LOCATE 18,5:PRINT "貴官の幸運を祈る !!!":FOR I=1 TO 3000:NEXT I:LOCATE 16,5:PRINT SPC(36):LOCATE 18,5:PRINT SPC(36):RETURN 5890 FOR I=1 TO DCT(IB)*10 5900 ENTE=ENTE+100:LOCATE 66,9:PRINT " ":LOCATE 66,9:PRINT ENTE 5910 FOR J=1 TO 25:NEXT J 5920 NEXT I 5930 FOR I=1 TO DCT(IB) 5940 PH=PH+1:LOCATE 66,8:PRINT " ":LOCATE 66,8:PRINT PH 5950 FOR J=1 TO 200:NEXT J 5960 NEXT I 5970 YRS=0 5980 FOR I=1 TO DCT(IB)*2 5990 YEAR=YEAR+2:YRS=YRS+2:LOCATE 66,3:PRINT " ":LOCATE 66,3:PRINT YEAR:LOCATE 66,4:PRINT " ":LOCATE 66,4:PRINT YEAR-2400 6000 IF YEAR>3000 THEN YEAR=3000:LOCATE 66,3:PRINT YEAR:LOCATE 66,4:PRINT YEAR-2400 6010 FOR J=1 TO 20:NEXT J 6020 NEXT I 6030 DCT(IB)=DCT(IB)-1 6040 GOSUB 5790 6050 RETURN 20000 FOR I=1 TO 10:CMD PLAY "@19V15L64C&D&E&F&G&A&B":NEXT 年必要 !!" 5100 FOR I=1 TO 1500:NEXT I:RETURN 5110 LOCATE 30,23:PRINT "フ