いつもお世話になっております。
現在FF風(1対1)の戦闘画面のみを作成しています。
ゲーム・プログラミングの館を参考に作成しなんとか戦闘開始から終了まで実装できました。
作成時の質問ですが具体例を記載させて下さい。
1.敵がプレイヤーに攻撃
2.敵のステータスが攻撃状態に遷移
3.プレイヤーのステータスがダメージHIT状態に遷移
★この動作をメイン関数whileループ内でEnemy_Update(&Player_One);という関数で
毎回敵のステータスチェックを行って攻撃状態ならプレイヤーのステータスをダメージHIT
状態に更新していますがとても違和感があります。。
敵とプレイヤーさらにはエフェクト、背景等、他の因子により他の因子の状態が遷移する場合
のコードの書き方として何かアドバイスいただけないでしょうか?
※状態管理関数みたいなもをつくるとかでしょうか???
メイン関数の作成について
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: メイン関数の作成について
この場合はシューティングの弾などように独立して管理する部分と状態遷移で管理する部分を分けたほうが良いと思います。
ダメージ表示 ⇒ ダメージフラグが立ったら、ダメージ表示カウントに基づいてエフェクト。
ターン管理 ⇒ ターン専用の状態管理
ダメージ表示 ⇒ ダメージフラグが立ったら、ダメージ表示カウントに基づいてエフェクト。
ターン管理 ⇒ ターン専用の状態管理
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: メイン関数の作成について
ターン専用の管理データが必要だと思いますが、敵とプレーヤーの構造体まで必要かはプログラム構造によります。入門者 さんが書きました:回答ありがとうございます。
>ターン管理 ⇒ ターン専用の状態管理
→ターン管理に敵の構造体とプレイヤーの構造体を渡すイメージでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
入門者
Re: メイン関数の作成について
回答ありがとうございます。
度々の初歩的な質問でも申し訳ありません。
ターン専用の管理データとは具体的にはどんなデータでしょうか?
※敵とかプレイヤーの状態とかですか?
度々の初歩的な質問でも申し訳ありません。
ターン専用の管理データとは具体的にはどんなデータでしょうか?
※敵とかプレイヤーの状態とかですか?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: メイン関数の作成について
何処まで管理するかで変わりますが、最低限必要なのは今どのキャラクタが攻撃状態なのか、次のキャラクタはどれか?などの攻撃順序などの管理をするために必要なデータですね。入門者 さんが書きました:回答ありがとうございます。
度々の初歩的な質問でも申し訳ありません。
ターン専用の管理データとは具体的にはどんなデータでしょうか?
※敵とかプレイヤーの状態とかですか?
攻撃終了は、このターン管理に何らかの形で通知される必要があります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
入門者
Re: メイン関数の作成について
回答ありがとうございます。
了解いたしました。
コードをリファクタリングしてみたいと思います。
To:softya(ソフト屋) 様
質問と全く異なりますがFF風のRPG作成講座は行う予定ないですよね?
※有識者が戦闘フェーズのメイン関数をどういった構成で作成するのかがとても興味があります
了解いたしました。
コードをリファクタリングしてみたいと思います。
To:softya(ソフト屋) 様
質問と全く異なりますがFF風のRPG作成講座は行う予定ないですよね?
※有識者が戦闘フェーズのメイン関数をどういった構成で作成するのかがとても興味があります
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: メイン関数の作成について
時間が取れないので申し訳ないですね。入門者 さんが書きました:回答ありがとうございます。
了解いたしました。
コードをリファクタリングしてみたいと思います。
To:softya(ソフト屋) 様
質問と全く異なりますがFF風のRPG作成講座は行う予定ないですよね?
※有識者が戦闘フェーズのメイン関数をどういった構成で作成するのかがとても興味があります
そういえば、お名前がちょっと安易すぎるのでもう少し工夫を願いします。
誰でも使う可能性がある名前はルール上避けて頂いています。
※ 名前が変わったときにその旨も書いてくださいね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。