よなぷーの無駄喋り

2024年11月


241120070840764
241120070913817
241120071054524
241120071209823
241120071312257






========================================================
【  ソフト名   】 Ray_Arms
【 バージョン  】 version 1.0
【 ソフト種別  】 フリーウェア/シューティング風アクション
【  制作者名   】 よなぷー
【  ファイル名 】 Ray_Arms_ver10.txt
【   対応PC   】 FX-860P シリーズ
【   連絡先   】 stfaastf@yahoo.co.jp
【    転載    】 下記参照
【 最終更新   】 2024年11月16日
========================================================

▲◆■ 概要 ■◆▲
 PB-100 で作った拙作『RAY ARMS』を FX-860P シリーズに移植してみました。縦画面のシューティング風アクションゲームです。


▲◆■ 著作権・免責事項 ■◆▲
 「Ray_Arms」はフリーソフトです。このソフト(プログラム及び関連ドキュメントを含める)の著作権は、作者であるよなぷーに帰属します。
 ソフト、及び付属テキストは、著作権法および著作権に関する条約をはじめ、その他の無体財産権に関する法律ならびに条約によって保護されています。
 作者に認められている場合を除き、このソフトを第三者に有償で提供することはこれらに違反することになりますのでご注意ください。
 ソフトを使用したことにより生じたいかなる障害、損害において、作者は一切責任を負わないものとします。各自の責任において使用してください。
 また、作者はバグが発見された場合においても、その修正、バージョンアップの義務を負わないものとします。


▲◆■ このソフトの配布、転載に関して ■◆▲
 このプログラム・関連ドキュメントの利益を伴わない再配布、または転載等は基本的に自由とします。雑誌付録への収録なども構いません。その際作者への連絡を必要としません。
 ※一切のデータはオリジナルの場合に限ります。


▲◆■ 入力方法 ■◆▲
 全部で3496バイトあります。普通に本体で入力するか、パソコン経由でプログラムを送信してください。
 私の環境は、
・Windows 7 ノートパソコン
・BOOTH の『ac-shop』さんで購入した『CASIO FX-860Pvc 用 USB シリアル変換モジュール(FA-6 相当 IF 版)』
・USB 2.0 ケーブル【A】-【miniB】
・Windows ドライバーに WCH 製の CH340C
・通信ソフトに『PB-1000 Data Communicator32』(『JUN AMANO'S HOMEPAGE』さんより入手)
といった感じです。

●私の送信方法
 まずドライバーと通信ソフトをダウンロードして、あらかじめパソコンに入れておきます。
 次にポケコンへ USB シリアル変換モジュールを接続し、USB ケーブルで繋いで、パソコンの USB 端子にセットします。パソコンにドライバーが入っていれば、初回はそれのインストールが行なわれます。
 続いてポケコンを[MODE][1]で BASIC モードにします。そのうえで通信ソフトを立ち上げ、そこに書かれている『PB-1000 Settings:』の後の文字列をポケコンに入力します。たとえば、そのままの設定なら『LOAD"COM0:6,E,8,1,N,N,N,B,N"』となります。
 最後にポケコンのその命令を実行してから、『PB-1000 Data Communicator32』で『Send』を押してテキストファイルを選べば、パソコンからポケコンへプログラムが送信されます。
 逆にポケコンからパソコンへプログラムを送りたい(セーブしたい)なら、『Receive』を押してパソコン側の準備を整えてから、ポケコンで『SAVE"COM0:6,E,8,1,N,N,N,B,N"』を実行します。
 エラーが出てしまう場合は、『Parity』を『None』にしたり『Odd』にしたりしてみてください(私の場合はそれでうまくいきました)。そのときは『SAVE』や『LOAD』の文字列の『E』も変化しますのでご注意を。


▲◆■ 物語 ■◆▲
 あなたは凄腕のパイロットだ。今日も大宇宙を舞台に、異次元から現れたエイリアンと戦うのだった。


▲◆■ 遊び方 ■◆▲

 CAL モードで[SHIFT][(入力したプログラムエリア)]と入力するとゲーム開始です。初めて遊ぶときや記録を消去したくなった場合は[9]を、続きを遊ぶ場合はそのままで[EXE]してください。

 ゲーム画面は左端の5桁2行の範囲となります。上段からザコ敵が降下してきますので、下段の自機(「_」)を[Q][W]で左右に動かし、[/]で狙い撃ってください。
 ザコを10機倒すと、上段にボス敵が現れます。ボスの攻撃(「↓」)をかわしつつ、20発撃ち込むと倒すことができます。なお、ボス出現中のザコ敵はただの弾丸となり、破壊できません。
 ザコやボスに攻撃を受けると、タイムが8増加してしまいます。
 全部で6面あり、すべての敵を倒すとゲームクリアです。かかったタイムにより、上位3名まで名前入力ができます。


▲◆■ 変数表 ■◆▲
A  自機左右位置  N  1位タイム
B  汎用            O  ―――
C  敵移動方向      P$(0)~(2) ”o””○””゜”
D  ステージ数      Q$ ”↓”
E  ボス用          R  ―――
F  2位タイム      S$ ボス姿
G  時間稼ぎ等      T  ―――
H  3位タイム      U$ 3位タイム記録者名
I  ―――          V  ―――
J  敵左右位置      W$ 2位タイム記録者名
K  敵縦位置        X  ザコ/ボス/クリアチェック
L  敵効果パターン  Y$ 1位タイム記録者名
M  タイム          Z  ボス用カウンタ


▲◆■ 開発後記 ■◆▲
 PB-100 では一桁画面の関係上分割表示でしたが、FX-860P は二桁ありますので、本来の姿を再現することができました。ぜひプレイして、ポケコン仲間と競い合いましょう。

 1面……ザコ=まっすぐか斜めに降下してきます。追いかけて撃墜しましょう。
     ボス=真ん中にときおりレーザーを放ってくるだけなので、楽勝でしょう。

 2面……ザコ=ランダムに移動します。追いかけるのがちょっと大変かもしれません。
     ボス=左右2門からレーザーを撃ってきます。真ん中に陣取りましょう。

 3面……ザコ=ジグザグかまっすぐか、どちらかで降下してきます。
     ボス=前触れの後、3マスのレーザーを放ってきます。かわしましょう。

 4面……ザコ=下段で急降下してきます。範囲を見極めて応戦しましょう。
     ボス=レーザーを順繰りに撃ってきます。一番大変かもしれません。

 5面……ザコ=接地時に左右に広がります。それさえ気をつければ楽勝!?
     ボス=マーカー(「□」)をつけて狙い撃ちしてきます。かわしましょう。

 6面……ザコ=中央で撃っていれば倒せるでしょう。
     ボス=3マスのレーザーをかわせば楽勝です。

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$

↑このページのトップヘ