20100 GOSUB 20150:NUM=NUM-1:IF NUM>0 THEN 20080 ELSE NUM=17:GOTO 20750
20110 GOSUB 20150:NUM=NUM+1:IF NUM<15 THEN 20080 ELSE 20750
20120 CON=CON+1:IF CON=11 THEN CON=1:GOTO 20160 ELSE 20160
20130 CON=CON-1:IF CON=0 THEN CON=10:GOTO 20160 ELSE 20160
20140 IF TCO(NUM)=1 OR KS$>"7" THEN 20060 ELSE D9=(KS$="3" OR KS$="5"):ON VAL(KS$) GOSUB 20480,20490,20500,20580,20590,20720,20730:GOSUB 23350:IF D9 THEN 20160 ELSE 20180
20260 LOCATE 31+FNA(I)*9,17-(I>3):J=CON(CON,I):IF J>0 THEN COLOR J-(J=1)*4:D0=CON:D1=I:GOSUB 23480:PRINT USING"###/####";D2;CON1(CON,I); ELSE COLOR 7:PRINT" ----- "
20340 FOR I=1 TO 3:LOCATE 39,15+I:COLOR 4:PRINT FNB$(I);":";:COLOR 7:FOR L=1 TO 2:IF L=1 THEN K=GD(I):IF K=ZGD(I) AND GA(I)=ZGA(I) THEN PRINT STRING$(10,"-");:GOTO 20420 ELSE 20350 ELSE PRINT" / ";:K=ZGD(I)
20350 IF I=3 THEN 20380
20360 IF K=3 THEN IF I=1 THEN PRINT"右前";:GOTO 20400 ELSE PRINT"右後";:GOTO 20400
20370 PRINT BNA$(CNG1(K^2));:GOTO 20400
20380 IF K=1 THEN PRINT"左前";:GOTO 20400 ELSE IF K=3 THEN PRINT"左後";:GOTO 20400
20390 PRINT"左舷";
20400 IF L=1 THEN K=GA(I) ELSE K=ZGA(I)
20410 IF K=1 THEN PRINT"高角度"; ELSE IF K=2 THEN PRINT"中角度"; ELSE PRINT"準水平";
22030 IF SF(2)>0 THEN D1$="航空管制":GOSUB 22980:K=1:LOCATE 41,16:PRINT"航空管制室";A$:LOCATE 40,17:PRINT"燃料不足に因り":LOCATE 39,18:D0=SF(2):GOSUB 23380:PRINT"機が 海上に墜落しました":SF(2)=0:GOSUB 23510:T=4:GOSUB 23590
22040 IF HCM=2 OR SF(1)=0 THEN 22070 ELSE D1$="航空管制":GOSUB 22980:K=1:LOCATE 41,16:PRINT ANA$(1,4);A$:LOCATE 40,17:IF I=0 THEN PRINT"甲板損傷の為 発艦不能です":GOTO 22060 ELSE IF I>SF(1) THEN L=SF(1) ELSE L=I
22290 IF SPDM<RND*20+1 THEN U=0:GOTO 22310 ELSE D1$="回避行動":GOSUB 22980:LOCATE 41,16:PRINT"主舵取機室";A$:LOCATE 40,17:PRINT DNA$(TD);:IF TD=2 THEN PRINT"回避を 行い";:U=0 ELSE PRINT"方向へ 回避し";:U=1
22300 PRINT"ます":T=2:GOSUB 23590
22310 I=6*ENU(S)*(1+.3!*RND)/(SPDM+90)-(RND>.65!):Q=1:WHILE I>0:Q=0:I=I-1:IF U THEN J=3.4!+SGN((2-TD)*RND+((EDI(S)<3.5!)+.5!)*RND)*(.5!+2*RND) ELSE J=3.5!+SGN(((EDI(S)<3.5!)+.5!)*RND+SGN(RND-.5!)*.2!*RND)*(.5!+2*RND)
22330 LOCATE 41,18:IF K=2 AND CON(D0,D1)=0 THEN PRINT"火災発生" ELSE PRINT"現在 ";:IF K=1 THEN PRINT"浸水中" ELSE PRINT"炎上中"
22340 GOSUB 23480:CON(D0,D1)=K:CON1(D0,D1)=(D2+(ENU(S)\7+1)*3+RND*4)*(528-228*K)/10:D2=CNG2(K):GOSUB 23610:IF CON1(D0,D1)<1 THEN CON1(D0,D1)=1 ELSE IF CON1(D0,D1)>5280-2280*K THEN CON1(D0,D1)=5280-2280*K
22350 T=3:GOSUB 23590:GOSUB 23000:FOR L=1 TO 14:IF TPO1(L)<>D0 OR TPO2(L)<>D1 THEN 22400 ELSE M=1+ENU(S)/2+RND*5:TEX(L)=TEX(L)-M:LOCATE 41,16
22360 IF TEX(L)<1 THEN PRINT"中央管制室より 報告":LOCATE 40,17:PRINT TNA$(L);"からの 連絡が":LOCATE 52,18:PRINT"途絶えました":TCO(L)=0:TEX(L)=0:CNA$(L)=B$:TNA$(L)="----":TPO1(L)=0:GOTO 22390
22370 PRINT TNA$(L);A$:LOCATE 40,17:IF CNA$(L)<>B$ AND RND*80>TEX(L) THEN PRINT"指揮官 ";CNA$(L);" 以下":CCA(L,0)=0:CCA(L,1)=0:CCA(L,2)=0:IF CNA$(L)="Godai" AND KYOKO=1 THEN KYOKO=5+L:CNA$(L)=B$ ELSE CNA$(L)=B$ ELSE PRINT"敵機の攻撃に因り"
22610 I=0:D8=0:FOR J=1 TO 14:IF TCO(J)=4 THEN D8=1:D7=4:NUM=J:GOSUB 23550:I=I+FNJ(J,0,1,0,1.2!)
22620 NEXT:FOR J=1 TO 3:IF EKI(J)=0 OR I<20+RND*50 THEN ZEKI(J)=0:GOTO 22640 ELSE K=EKI(J)+SGN(RND-.5!)*RND*2*(I<RND*140):IF K<1 THEN K=1 ELSE IF K>3 THEN K=3
22630 ZEKI(J)=K:ZENU(J)=ENU(J)*(1+(I<135)*SGN(RND-.5!)*RND*(.08!+(145-I)/230)):IF ZENU(J)<1 THEN ZENU(J)=1
22640 NEXT
22650 TIM=TIM+1:IF TIM=24 THEN TIM=0
22660 TIMK=TIM+8:IF TIMK>23 THEN TIMK=TIMK-24
22670 COLOR 5:LOCATE 51,15:PRINT USING"##:00(##:00) ";TIM;TIMK;:IF TIM<7 OR TIM>19 THEN PRINT"夜" ELSE IF TIM<12 THEN PRINT"朝" ELSE IF TIM<16 THEN PRINT"昼" ELSE PRINT"夕"
22680 COLOR 7:FOR NUM=1 TO 14:IF TCO(NUM)=1 AND TPO2(NUM)=TIM THEN TCO(NUM)=2:TWE(NUM)=0:GOSUB 23030
22690 NEXT
22700 ZTD=TD:ZSP=SP:ZCAU=CAU:ZHCM=HCM:NUM=ZNUM
22710 FOR I=1 TO 3:ZGD(I)=GD(I):ZGA(I)=GA(I):NEXT
22720 L=0:FOR I=1 TO 3:FOR J=1 TO 6:IF CON(I,J) THEN L=L+1:CON1(I,J)=CON1(I,J)*(1.1!+SPDM/100):K=5280-2280*CON(I,J):IF CON1(I,J)>K THEN CON1(I,J)=K
22730 NEXT:NEXT:IF L>8 THEN I=2:GOTO 23910
22740 GOSUB 23630:GOSUB 23800:GOSUB 23700:GOSUB 23540:GOSUB 23310:SN(0)=D5:FOR I=1 TO 2:ON I GOSUB 23290,23270:SN(I*2-1)=D0:ON I GOSUB 23300,23280:SN(I*2)=D0:SN(4+I)=SN(I*2-1)-D0:NEXT:IF SN(0)>14999 THEN I=1:GOTO 23910
22750 LNG1=LNG1+SPDM:LOCATE 76,17:COLOR 5:PRINT USING"####";LNG1:COLOR 7:IF LNG1>LNG2 THEN I=3:GOTO 23910
22760 FOR I=16 TO 18:LOCATE 1,I:PRINT STRING$(37,32);:NEXT:COLOR 7
22770 J=0:FOR I=1 TO 3:L=ZEKI(I):IF L=0 THEN 22780 ELSE J=J+1:K=EDI(I):I$=SPACE$((-(K=2)-(K=5))*2):LOCATE 2,15+J:PRINT FNB$(J);"波 ";I$;EDIF$(K);I$;SPACE$(2*L-1-2*(L=3));EKIF$(L);" ";RIGHT$(STR$(ZENU(I)),2);"機"
22780 NEXT:LOCATE 14,17:IF D8=0 THEN PRINT"報告なし" ELSE IF J=0 THEN PRINT"敵影なし"
22790 RANDOMIZE TIME/3:IF NUM<15 THEN 20030 ELSE 20750
22920 KS$=INKEY$:IF KS$="" THEN 22920 ELSE IF KS$>"0" AND KS$<":" THEN KS=1 ELSE KS=(INSTR(CHR$(13)+CHR$(13)+CHR$(31)+CHR$(144)+CHR$(30)+CHR$(226)+CHR$(28)+CHR$(146)+CHR$(29)+CHR$(147),KS$)+1)\2:IF KS>0 THEN KS=KS+1 ELSE 22940
22930 RETURN
22940 KS=INSTR(CHR$(18)+CHR$(11),KS$):IF KS>0 THEN KS=KS+6
23160 IF TCO(NUM) THEN PRINT USING"###% ";TWE(NUM); ELSE PRINT"---- ";
23170 RETURN
23180 GOSUB 23040:LOCATE 61,NUM
23190 PRINT TCO$(TCO(NUM));" ";:RETURN
23200 GOSUB 23040:LOCATE 76,NUM
23210 IF TCO(NUM)=1 THEN PRINT USING"_-##_- ";TPO2(NUM);:RETURN
23220 IF TPO1(NUM)=0 THEN PRINT"---- "; ELSE IF TCO(NUM)=3 THEN PRINT FNB$(TPO2(NUM)-TPO2(NUM)\3);" "; ELSE PRINT CHR$(130)+CHR$(TPO1(NUM)+95);"-";:PRINT USING"# ";TPO2(NUM);
23230 RETURN
23240 GOSUB 23040:LOCATE 71,NUM
23250 IF TCO(NUM) THEN PRINT USING"##/##/##";TCA(NUM,0);TCA(NUM,1);TCA(NUM,2) ELSE PRINT B$;"--"
23550 TWE(NUM)=TWE(NUM)+D7*(.5!+CAU*.5!):IF TWE(NUM)>100 THEN TWE(NUM)=100
23560 GOSUB 23150:COLOR 7:RETURN
23570 '
23580 D1$=B$+"--":GOSUB 22980:RETURN
23590 '
23600 FOR DW1=0 TO 400*PT*T*WA:NEXT:RETURN
23610 '
23620 PAINT(X(D0,D1),Y(D0,D1)),D2,4:RETURN
23630 FOR I=1 TO 2:J=CNG1(I):ON I GOSUB 23300,23270:L=D0:ON I GOSUB 23290,23280:M=D0:IF L=M THEN 23690 ELSE IF L>M THEN P=I:Q=CNG1(I) ELSE P=CNG1(I):Q=I
23640 R=ABS(L-M):IF VWTS(P)=0 AND VWTS(Q)=1500 THEN 23690 ELSE D1$="補助区画":GOSUB 22980:LOCATE 41,16:PRINT"注排水指揮室より 連絡"
23650 IF VWTS(P)>0 THEN IF VWTS(P)>=R THEN D0=R:R=0:VWTS(P)=VWTS(P)-D0 ELSE D0=VWTS(P):R=R-D0:VWTS(P)=0 ELSE 23670
23800 M=0:FOR L=1 TO 2:ON L GOSUB 23290,23280:I=D0:ON L GOSUB 23300,23270:J=D0:K=(I-J)/(30*INT(10^L)):IF K=ANG(L) THEN 23870 ELSE M=1:D$(1)="横":D$(2)="縦":D1$="傾斜報告":GOSUB 22980:LOCATE 41,16:PRINT"中央管制室";A$:LOCATE 40,17
23810 IF ANG(L)<>0 AND SGN(K)*SGN(ANG(L))>-1 THEN PRINT D$(L);"傾斜角";:D0=ABS(K-ANG(L)):GOSUB 23380:PRINT"度 ";:IF ABS(K)>ABS(ANG(L)) THEN PRINT"増加":LOCATE 41,18 ELSE PRINT"復元":LOCATE 41,18
23820 PRINT"現在 ";:IF K=0 THEN PRINT D$(L);"方向の傾斜なし":GOTO 23840 ELSE IF L=1 THEN D1$=DNA$(SGN(K)+2) ELSE D1$=BNA$(2.5!+.5!*SGN(K))