■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50 [PR]ぜろちゃんねるプラス[PR]  
レス数が1000を超えています。残念ながら全部は表示しません。

FF7をファミコンに移植させた職人は神認定 Part2

535 :名前が無い@ただの名無しのようだ:2006/03/01(水) 06:41:06 ID:5gIN7sMy0
偽ATBルーチンを考えてみた
プレイヤーそれぞれにウエイトタイムを設定、カウントごとにマイナスして0になったキャラクターからコマンド選択→実行という流れ
メモリラベルWT(1)〜WT(8)まで設定、容量は256(FFh)
03までプレイヤー用でそれ以降は敵に割り当て
;戦闘システム立ち上げ
 乱数取得→通常戦闘、先制攻撃、不意打ち、バックアタックの条件分岐
 通常戦闘では(定値)+(乱数)−すばやさ/16をWT(1~8)に代入、その他先制攻撃などでは(定値)をWTに代入
この時(乱数)および(定置)は128以下に設定
;先頭画面描写
@まずWT(1)を指定
AWTを1ないし一定値減らす。
BWT=0の時コマンド選択画面を表示→Cへ
そうでない場合はDへ
Cコマンドを決定したら
WTに128+(コマンド事前時間)を加えてEへ
(コマンド事前時間)は詠唱時間などコマンド選択からタイムラグを入れる為に設定
定値ないしすばやさの関数を入れればいいと思う
DWT=128の時、選択されたコマンドを実行
実行後WTに再び(定値)−すばやさ/16を代入→Eへ
E現在選択されているのがWT(8)→@へ
F処理を次のキャラ(WT(2))に移してAへ
流れ的には
@→A→B→D→↓
↑ ↑ ↓ ↓ ↓
↑ F C E ↓
↑ ↑ ↓ ↓ ↓
↑←E←←←←←←
あとは戦闘不能中の処理とか戦闘終了の処理とか、ヘイスト・スロウの処理とかいろいろつけ加えていけばなんとかならないかな……あとすばやさ/16の16は適当
設定をうまくしないとWTがフローしまくるのが欠点。特にカウントを1ずつじゃなくてそれ以外の数値に変えるとフローが起こりやすい……


281KB
READ.CGI - 0ch+ BBS 0.7.4 20131106
ぜろちゃんねるプラス