10 '=RAY ARMS= VER.1.0 BY YONAPUU,2024
20 GOTO 590
30 'メイン
40 M=M+1:ON X GOSUB 150,310,660:IF X>=3 THEN 630
50 IF KEY="Q" THEN A=A-SGN A
60 IF KEY="W" THEN A=A+SGN(4-A)
70 IF KEY<>"/" THEN 110
80 LOCATE A,1:PRINT "!";:LOCATE A,0:PRINT CHR$(227);
90 IF X>=2 AND ABS(A-2)<=1+D/4 THEN LOCATE A,0:PRINT "*";:X=X+.05:GOTO 110
100 IF A=J AND X<2 THEN LOCATE A,1-INT(K/3):PRINT "*";:X=X+.1:GOSUB 520:K=6
110 GOSUB 540:K=K-1:GOTO 40
120 'ザコ ヒョウジ
130 B=INT(K/3):LOCATE J,1-B:PRINT P$(K-B*3);:RETURN
140 'ザコ
150 CLS:LOCATE A,1:PRINT "_";
160 ON L GOTO 190,210,220,230,250,290
170 GOSUB 520:GOSUB 130
180 C=INT(RAN#*3-1):RETURN
190 IF ABS(J+C-2)<=2 THEN J=J+C
200 GOTO 130
210 GOSUB 180:GOTO 190
220 C=-C:GOTO 190
230 IF K=2 THEN LOCATE J,1:PRINT "8";:K=0:C=0
240 GOTO 190
250 GOSUB 130:IF K>=1 THEN RETURN
260 LOCATE J-SGNJ,1:PRINT P$(0);:LOCATE J+1,1:PRINT P$(0);
270 IF ABS(A-J)<=1 THEN J=A:GOSUB 540:J=-1
280 RETURN
290 J=INT(RAN#*3+ABS(A-2)):GOTO 130
300 'ボス
310 LOCATE 0,0:PRINT S$;:LOCATE 0,1:PRINT "     ";:LOCATE A,1:PRINT "_";:IF K<0 THEN GOSUB 520
320 Z=Z+1:ON D GOSUB 330,350,370,400,440,470:GOTO 130
330 IF FRAC(Z/4)=0 THEN LOCATE 2,1:PRINT Q$;:IF A=2 THEN 570
340 RETURN
350 IF FRAC(Z/3)=0 THEN LOCATE 1,1:PRINT Q$;:LOCATE 3,1:PRINT Q$;:IF ABS(A-2)=1 THEN 570
360 RETURN
370 IF Z>=4 THEN LOCATE 1,0:PRINT "\Y\";
380 IF Z=6 THEN Z=0:LOCATE 1,1:PRINT Q$;Q$;Q$;:IF ABS(A-2)<=1 THEN 570
390 RETURN
400 IF Z=2 THEN LOCATE 0,1:PRINT Q$;:LOCATE 4,1:PRINT Q$;:IF ABS(A-2)=2 THEN 570
410 IF Z=3 THEN 350
420 IF Z=4 THEN Z=0:GOTO 330
430 RETURN
440 IF Z=1 THEN E=A
450 LOCATE E,1:PRINT CHR$(236);:IF Z=2 THEN Z=0:LOCATE E,1:PRINT Q$;:IF E=A THEN 570
460 RETURN
470 IF Z=1 THEN E=2*INT(RAN#*2)
480 IF Z>=2 THEN LOCATE E,0:PRINT CHR$(234);CHR$(234);CHR$(234);
490 IF Z=5 THEN Z=0:LOCATE E,1:PRINT Q$;Q$;Q$;:IF E<=A AND A<=E+2 THEN 570
500 RETURN
510 'ザコ ジュンビ
520 L=D:J=INT(RAN#*5):K=5:RETURN
530 'ザコ チャクダン
540 IF K<=0 THEN L=0:IF A=J THEN 570
550 RETURN
560 'ジキ ヒダン
570 LOCATE A,1:PRINT "#";:M=M+8:RETURN
580 'ショキセッテイ
590 INPUT "9=キロクリセット,ホカ=スタート",E$:IF E$<>"9" THEN 610
600 CLEAR:DIM P$(3):P$(0)="o":P$(1)=CHR$(237):P$(2)=CHR$(223):Q$=CHR$(229)
610 CLS:$=" <RAY ARMS> ":M=0:D=0:GOSUB 710:IF N=0 THEN N=999:F=N:H=N
620 PRINT "1st:";N;":By ";Y$,"2nd:";F;":By ";W$,"3rd:";H;":By ";U$
630 $=" :"+CHR$(159)+":  qAp  Y\Y -"+CHR$(236)+CHR$(240)+CHR$(236)+"-[#"+CHR$(234)+"#]>=H=<":S$=MID$($,D*5+1,5):D=D+1
640 A=2:Z=0:X=1:L=0:CLS:PRINT " [STAGE";D;"]":GOTO 40
650 'ボス ゲキハ
660 LOCATE 0,0:PRINT "((*))";:GOSUB 740:CLS:$="   "+CHR$(231)+"T;"+CHR$(165)+" "
670 FOR B=1 TO 9:LOCATE A,0:PRINT MID$($,B,1);:IF B<=6 THEN LOCATE A,1:PRINT MID$($,B+3,1);
680 NEXT B:IF D<=5 THEN 740
690 GOTO 760
700 'エンシュツ
710 FOR B=0 TO 11:FOR G=11 TO B STEP -1:LOCATE G,0:PRINT MID$($,B+1,1);
720 NEXT G:NEXT B:GOTO 740
730 'ジカンカセギ
740 FOR G=0 TO 120:NEXT G:CLS:RETURN
750 'エンディング
760 CLS:LOCATE A,0:PRINT "-";:GOSUB 740
770 CLS:FOR B=A TO 11:LOCATE B,1:PRINT "-";:GOSUB 740:NEXT B
780 LOCATE 11,1:PRINT "/";:GOSUB 740:$="I*)=-       ":FOR B=11 TO 0 STEP -1
790 LOCATE B,1:PRINT MID$($,1,12-B);:NEXT B:FOR B=1 TO 7:LOCATE 0,1:PRINT MID$($,B,6);
800 NEXT B:$="WarWasOver!!":GOSUB 710:$="YouAreHero!!":GOSUB 710
810 $="  =THEEND=  ":GOSUB 710:PRINT "Time:";M;
820 IF M<=N THEN STOP:H=F:U$=W$:F=N:W$=Y$:N=M:Y=0:INPUT "1st:",Y$:END
830 IF M<=F THEN STOP:H=F:U$=W$:F=M:W=0:INPUT "2nd:",W$:END
840 IF M<=H THEN STOP:H=M:U=0:INPUT "3rd:",U$