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