メイン関数の作成について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
入門者

メイン関数の作成について

#1

投稿記事 by 入門者 » 13年前

いつもお世話になっております。
現在FF風(1対1)の戦闘画面のみを作成しています。
ゲーム・プログラミングの館を参考に作成しなんとか戦闘開始から終了まで実装できました。
作成時の質問ですが具体例を記載させて下さい。
1.敵がプレイヤーに攻撃
2.敵のステータスが攻撃状態に遷移
3.プレイヤーのステータスがダメージHIT状態に遷移

★この動作をメイン関数whileループ内でEnemy_Update(&Player_One);という関数で
毎回敵のステータスチェックを行って攻撃状態ならプレイヤーのステータスをダメージHIT
状態に更新していますがとても違和感があります。。
敵とプレイヤーさらにはエフェクト、背景等、他の因子により他の因子の状態が遷移する場合
のコードの書き方として何かアドバイスいただけないでしょうか?
※状態管理関数みたいなもをつくるとかでしょうか???

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: メイン関数の作成について

#2

投稿記事 by softya(ソフト屋) » 13年前

この場合はシューティングの弾などように独立して管理する部分と状態遷移で管理する部分を分けたほうが良いと思います。

ダメージ表示 ⇒ ダメージフラグが立ったら、ダメージ表示カウントに基づいてエフェクト。
ターン管理 ⇒ ターン専用の状態管理
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

入門者

Re: メイン関数の作成について

#3

投稿記事 by 入門者 » 13年前

回答ありがとうございます。

>ターン管理 ⇒ ターン専用の状態管理
→ターン管理に敵の構造体とプレイヤーの構造体を渡すイメージでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: メイン関数の作成について

#4

投稿記事 by softya(ソフト屋) » 13年前

入門者 さんが書きました:回答ありがとうございます。

>ターン管理 ⇒ ターン専用の状態管理
→ターン管理に敵の構造体とプレイヤーの構造体を渡すイメージでしょうか?
ターン専用の管理データが必要だと思いますが、敵とプレーヤーの構造体まで必要かはプログラム構造によります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

入門者

Re: メイン関数の作成について

#5

投稿記事 by 入門者 » 13年前

回答ありがとうございます。
度々の初歩的な質問でも申し訳ありません。
ターン専用の管理データとは具体的にはどんなデータでしょうか?
※敵とかプレイヤーの状態とかですか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: メイン関数の作成について

#6

投稿記事 by softya(ソフト屋) » 13年前

入門者 さんが書きました:回答ありがとうございます。
度々の初歩的な質問でも申し訳ありません。
ターン専用の管理データとは具体的にはどんなデータでしょうか?
※敵とかプレイヤーの状態とかですか?
何処まで管理するかで変わりますが、最低限必要なのは今どのキャラクタが攻撃状態なのか、次のキャラクタはどれか?などの攻撃順序などの管理をするために必要なデータですね。
攻撃終了は、このターン管理に何らかの形で通知される必要があります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

入門者

Re: メイン関数の作成について

#7

投稿記事 by 入門者 » 13年前

回答ありがとうございます。
了解いたしました。
コードをリファクタリングしてみたいと思います。

To:softya(ソフト屋) 様
質問と全く異なりますがFF風のRPG作成講座は行う予定ないですよね?
※有識者が戦闘フェーズのメイン関数をどういった構成で作成するのかがとても興味があります

 

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: メイン関数の作成について

#8

投稿記事 by softya(ソフト屋) » 13年前

入門者 さんが書きました:回答ありがとうございます。
了解いたしました。
コードをリファクタリングしてみたいと思います。

To:softya(ソフト屋) 様
質問と全く異なりますがFF風のRPG作成講座は行う予定ないですよね?
※有識者が戦闘フェーズのメイン関数をどういった構成で作成するのかがとても興味があります

 
時間が取れないので申し訳ないですね。
そういえば、お名前がちょっと安易すぎるのでもう少し工夫を願いします。
誰でも使う可能性がある名前はルール上避けて頂いています。
※ 名前が変わったときにその旨も書いてくださいね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

FFPRG好き入門者

Re: メイン関数の作成について

#9

投稿記事 by FFPRG好き入門者 » 13年前

回答ありがとうございます。
了承しました。
ちょっと長めにしてみました。
今後もよろしくお願い致します。

閉鎖

“C言語何でも質問掲示板” へ戻る