よなぷーの無駄喋り

2024年01月

========================================================
【  ソフト名   】 Strugglers_2024
【 バージョン  】 version 1.0
【 ソフト種別  】 フリーウェア/対戦格闘
【  制作者名   】 よなぷー
【  ファイル名 】 Strugglers_2024_ver10.txt
【   対応PC   】 FX-860P シリーズ
【   連絡先   】 stfaastf@yahoo.co.jp
【    転載    】 下記参照
【 最終更新   】 2024年 1月14日
========================================================

▲◆■ 概要 ■◆▲
 PB-100 で作った拙作『STRUGGLERS 0 ver.2』を FX-860P シリーズに移植してみました。対戦格闘型のアクションゲームです。


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


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


▲◆■ 入力方法 ■◆▲
 全部で3962バイトあります。普通に本体で入力するか、パソコン経由でプログラムを送信してください。
 私の環境は、
・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』も変化しますのでご注意を。


▲◆■ 物語 ■◆▲
 FXという名の新たな巨大コロシアムで、10人の格闘家は最強を目指すべく戦うのだった。


▲◆■ 遊び方 ■◆▲

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

★キャラ表
姿……名前、大技名、威力、特徴

■クラブ……『ムエタイ青年』閃光弾、3、動けない
■Ω――――『パン屋の店長』サバ折り、7、少し間があく
■π…………『かぶき娘』毒霧、4、間があく
■μ――――『自称忍者』手裏剣、4、動けない
■スペード…『気功術の老人』転移攻撃、3、中央では不可
■&――――『打つべし親父』三連打、3、一歩前進する
■ハート……『電姫』雷撃、3、少し間があく
■¥――――『覇龍帝』龍波動拳、3、間があく
■Σ…………『覇獄王』閃光連弾、2、動けない
■◆――――『覇界神』爆炎弾、4、少し間があく

 使用するキャラを[Q]で選択、[/]で決定して試合開始です。
 [Q][W]で左右に動き、[/]で小技のパンチ(威力1)、[*]で大技を繰り出します。画面右端の数値は自分の体力を表し、これが0になるとゲームオーバーです。
 敵と重なっているときは小技のかわりに爆裂拳(威力3)が出せます。
 敵の体力を0にすると勝利です。全部で10面あり、全ての敵を倒すとゲームクリアとなります。最後にクリアタイムが表示されます。記録を更新していた場合、名前入力ができます。

★テクニック
(1)すり抜け
   ……敵飛び道具を目前まで引き付けて、直後に前進することで、当たらずすれ違うことができます。
(2)小技キャンセル
   ……小技を出した直後に、素早く[-]を離し[6]を押すことで、すぐに大技に移行できます。
(3)大技キャンセル
   ……大技中はいつでも小技でキャンセルが出来ます。


▲◆■ 変数表 ■◆▲
A  攻撃側の位置      N  相手の体力
B  相手の行動              O  時間稼ぎ
C  自分の大技値            P  守備側の位置
D  相手の大技値            Q  自分の技方向
E$ 自分の姿                R  相手の技方向
F$ 相手の姿                S  汎用
G  自分の位置              T  位置判定
H  相手の位置              U  攻撃した位置
I  自分のキャラ            V  攻撃の威力
J  相手のキャラ            W  攻撃側技方向
K  攻撃側                  X  攻撃側大技値
L  攻撃側使用キャラ        Y  汎用
M  自分の体力              Z  経過ターン数
               A(1~10)  記録
               B$(1~10) 記録者名


▲◆■ 開発後記 ■◆▲
 果たしておいらの代表作、PB-100 用『STRUGGLERS』シリーズは、FX-860P でも動くのか……と試してみました。速度はまずまずで動作成功!
 PB-120 でもなければ不可能な「全キャラに最高タイムと最高タイム記録者名をつける」ことができたので、個人的には大満足です。ぜひぜひ遊びましょう!


10 '=STRUGGLERS 2024= VER.1.0 BY YONAPUU,2024
20 GOTO 710
30 'カイジョ
40 C=X:G=A:Q=W:RETURN
50 D=X:H=A:R=W:RETURN
60 'メイン
70 LOCATE 0,1:PRINT "          ";M;:LOCATE H,1:PRINT F$;:LOCATE G,1:PRINT E$;
80 Z=Z+1:B=INT(RAN#*3-1):IF RAN#>.9 THEN B=3
90 IF ABS(G-H)<=RAN#*3 THEN B=INT(RAN#*2+2)
100 K=0:X=C:A=G:P=H:L=I:W=Q:T=SGN(H-G):IF C<>0 THEN GOSUB 320:GOSUB 40:GOTO 150
110 IF INKEY$="Q" THEN G=G-SGN G:GOTO 160
120 IF INKEY$="W" THEN G=G+SGN(10-G):GOTO 160
130 IF INKEY$="/" THEN GOSUB 250:X=C:A=G:P=H:L=I:W=Q:T=SGN(H-G)
140 IF INKEY$="*" THEN GOSUB 320:GOSUB 40
150 IF INKEY$="/" THEN GOSUB 250:C=0:X=0:GOSUB 40
160 K=1:X=D:A=H:P=G:L=J:W=R:T=SGN(G-H):IF D<>0 THEN GOSUB 320:GOSUB 50:GOTO 200
170 IF B=-1 THEN H=H-SGN H
180 IF B=1 THEN H=H+SGN(10-H)
190 IF B>=2 THEN ON B GOSUB ,250,320:GOSUB 50
200 IF M<=0 THEN GOSUB 850:LOCATE 1,1:PRINT "[GAMEOVER]":END
210 IF N>=1 THEN 70
220 LOCATE 3,1:PRINT "[WIN!]";:GOSUB 850:IF J<=9 THEN 820
230 GOTO 870
240 'コワザ
250 IF T=0 THEN 280
260 LOCATE A+T,1:PRINT "-";:IF A+T<>P THEN RETURN
270 V=1:GOTO 650
280 FOR S=1 TO 3:GOSUB 270
290 A=A+SGN(5.5-P):LOCATE A,1:PRINT "#";:NEXT S:IF K=0 THEN G=A:T=SGN(H-G):RETURN
300 H=A:T=SGN(G-H):RETURN
310 'オオワザ
320 IF X=0 THEN W=T:IF T*FRAC SQR L=0 THEN X=A*ABS T:IF T=0 THEN RETURN
330 T=SGN W:X=X+T:S=ABS X:U=A+T:ON L GOTO 340,350,380,420,430,450,480,510,550,570
340 V=3:GOTO 610
350 IF S=1 THEN RETURN
360 LOCATE U,1:PRINT "=";:V=7:IF U<>P THEN X=0:RETURN
370 FOR S=11 TO 15:LOCATE P,1:PRINT MID$($,S+SIN PI,1);:NEXT S:GOTO 650
380 LOCATE A,1:PRINT "z";:IF S<=2 THEN RETURN
390 LOCATE U,1:PRINT CHR$(135);CSRU+T*SGN FRAC(U/10);CHR$(135);
400 IF P<>U THEN IF P<>U+T THEN X=0:RETURN
410 V=4:GOTO 650
420 V=4:X=S+T*SGN S:GOTO 610
430 V=3:A=10-A:T=-T:IF A=P THEN 650
440 X=0:RETURN
450 IF S=1 THEN A=U:RETURN
460 IF U=P THEN FOR Y=0 TO 2:GOSUB 250:NEXT Y
470 X=0:RETURN
480 IF S=1 THEN W=P:LOCATE P,1:PRINT "'";:X=2:RETURN
490 LOCATE W,1:PRINT CHR$(229);:V=3:T=SGN(P-A):IF P=W THEN 650
500 X=0:RETURN
510 LOCATE A,1:PRINT "Y";:V=3:IF S<=2 THEN RETURN
520 FOR S=0 TO 2:IF ABS(A+T-5)<=5 THEN A=A+T
530 LOCATE A,1:PRINT "\";:IF A=P THEN GOSUB 650:S=2
540 NEXT S:X=0:RETURN
550 V=2:GOSUB 610:S=X:IF S<>0 THEN S=S+T:X=S:GOTO 610
560 RETURN
570 LOCATE A,1:PRINT CHR$(238);:V=4:IF S=1 THEN RETURN
580 FOR S=1 TO 3:Y=2*S*T+A:IF ABS(Y-5)<=5 THEN LOCATE Y,1:PRINT "V";:IF Y=P THEN 650
590 NEXT S:X=0:RETURN
600 'ヒショウタイ
610 LOCATE S,1:PRINT MID$($,14+V,1);:IF S=P THEN GOSUB 650
620 IF S>9 THEN X=0
630 RETURN
640 'ダメージ
650 LOCATE P,1:PRINT "*";:IF K=1 THEN 670
660 N=N-V:H=P+T*SGN FRAC(P/10):B=0:GOTO 690
670 M=M-V:G=P+T*SGN FRAC(P/10):GOTO 690
680 'カクシュカイジョ
690 C=0:D=0:X=0:RETURN
700 'ショキカ
710 INPUT "9=キロクリセット,ホカ=スタート",E$:IF E$<>"9" THEN 740
720 CLEAR:E$="":F$="":M=0:H=0:G=0:Z=0:B=0:K=0:X=0:L=0:A=0:P=0:I=0:J=0:W=0:C=0:D=0:T=0
730 Q=0:R=0:DIM A(11):DIM B$(11):RESTORE 910:FOR A=1 TO 10:A(A)=999:READ B$(A):NEXT A
740 I=1:J=0:Z=0:CLS:PRINT "-=STRUGGLERS 2024=-";:$=CHR$(235)+CHR$(133)
750 $=$+CHR$(231)+CHR$(141)+CHR$(232)+"&"+CHR$(233)+"\"+CHR$(132)+CHR$(234)
760 E$="="+CHR$(240):$=$+E$+E$+"="+CHR$(159)+CHR$(226)+"+"
770 E$=MID$($,I,1):LOCATE 0,1:PRINT "SELECT=";E$;":                     ";
780 LOCATE 9,1:PRINT B$(I);A(I);
790 IF INKEY$="Q" THEN I=1+I*SGN(10-I:GOTO 770
800 IF INKEY$<>"/" THEN 790
810 LOCATE 7,1:PRINT "                    ";
820 J=J+1:GOSUB 690:LOCATE 0,1:PRINT "  ROUND";J;:GOSUB 850
830 M=9:N=9:G=3:H=7:F$=MID$($,J,1):GOTO 70
840 'ジカンカセギ
850 FOR O=0 TO 350:NEXT O:LOCATE 0,1:PRINT "            ";:RETURN
860 'エンディング
870 F$="ヤッタゼ!ミタカ-ッ!ウレシイナァニンニン..ドウダ!バンザイ...フン!ハハハハハハバカメッ!ムダダヨ"
880 FOR S=0 TO 9:LOCATE S,1:PRINT E$;:GOSUB 850:NEXT S
890 LOCATE 0,1:PRINT "(";MID$(F$,I*6-5,6);"!>";E$;" TIME";Z;:IF Z>A(I) THEN STOP:END
900 A(I)=Z:LOCATE 31,1:INPUT " サイコウキロク! ナマエ=",B$(I)
910 DATAムエタイセイネン,パンヤノテンチョウ,カブキムスメ,ジショウニンジャ,キコウジュツノロウジン,ウツベシオヤジ,デンキ,ハリュウテイ,ハゴクオウ,ハカイシン

↑このページのトップヘ