キャラクターオブジェクトを他のキャラクターオブジェクトにアクセスさせる

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

キャラクターオブジェクトを他のキャラクターオブジェクトにアクセスさせる

#1

投稿記事 by takatwu » 10年前

現在C++でゲームの作成を行っています。

そこでキャラクターが現在存在する自分以外のキャラクター全員にダメージを与える等の行動をさせたいのですが
その方法に躓いています。

現在のソースコードではキャラクタークラスがキャラクターマネージャークラスのポインタを持っており
そのマネージャーから全員分のキャラクターデータにアクセスできるようにしているのですが
この方法に疑問を感じています。(自分に対するマネージャーを自分が持っているのはおかしい?)

1対1の場合であれば相手キャラクターのポインタを自キャラクターに持たせることで何とかなりますが
このような場合はどうすればいいでしょうか?

やはりこういう処理はマネージャー側にさせるべきなのでしょうか?
そうであれば通常の1対1での攻撃等もマネージャー側にさせるべきなのでしょうか?

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: キャラクターオブジェクトを他のキャラクターオブジェクトにアクセスさせる

#2

投稿記事 by beatle » 10年前

クラス設計は唯一の答えがあるわけではないので答えづらいですが、例えば「戦闘」をクラスにして、戦闘クラスは戦闘に参加しているキャラクタを持つようにしては如何でしょう。
その上で、各攻撃技もクラス化して、ダメージ計算は攻撃技クラスに任せるようにしては?

今攻撃しようとしているプレイヤは、攻撃技クラスをインスタンス化して、それをプレイヤが持つ戦闘クラスのインスタンスに渡します。
戦闘クラスは攻撃技クラスを受け取ったら、攻撃技クラスに戦闘参加メンバ一覧を渡して、ダメージ計算をしてもらいます。

takatwu

Re: キャラクターオブジェクトを他のキャラクターオブジェクトにアクセスさせる

#3

投稿記事 by takatwu » 10年前

キャラクタークラスがどうするかしか考えていなかったため他のクラスに"してもらう"という方法を思いつきませんでした。

ダメージ計算用のクラスを作成し、そこでどのキャラクターからどのキャラクターへダメージを与える。というように作成しようと思います。
どうもありがとうございました。

閉鎖

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