武器とアイテムの実装方法について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
taketoshi
記事: 222
登録日時: 13年前
住所: 日本国

武器とアイテムの実装方法について

#1

投稿記事 by taketoshi » 11年前

こんにちは。

SRPGを作っており、ユニットが装備する武器と所持できるアイテムを実装したいと思っています。
そこで、実装方法についてご質問があります。
今は武器データをcsvから読み込んだ所で、どのように実装するべきか迷って止まっています。

将来的に、ユニットが所持できるアイテムはアイテム+武器含め8個にし
まとめて管理したいと思っていますが武器クラスとアイテムクラスに分けるとそれが難しそうだと感じています。
また、武器は装備できユニットの影響を及ぼし、アイテムは使用できるといった切り分けもしたいと思います。
このような場合は、どのように実装するとベストでしょうか?

稚拙ですが実装中のコードを晒しておきます、アドバイスをお願いいたします。
► スポイラーを表示

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

Re: 武器とアイテムの実装方法について

#2

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

武器は装備属性を持つアイテムに過ぎないという考えて良いと思います。わざわざ専用クラスを設けるとセーブロードで管理が面倒になる気がしますけど。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

dic
記事: 657
登録日時: 13年前
住所: 宮崎県
連絡を取る:

Re: 武器とアイテムの実装方法について

#3

投稿記事 by dic » 11年前

もし、クラスを使いたいというのなら、私のやり方ですが、どうでしょうか?
最初の書き込みのクラスを宣言、定義して以下のように追加します。
► スポイラーを表示

taketoshi
記事: 222
登録日時: 13年前
住所: 日本国

Re: 武器とアイテムの実装方法について

#4

投稿記事 by taketoshi » 11年前

お二方ご返信ありがとうございます。
専門の方のご意見を聞けて少し前に進んだと思います。

実装方法に関して武器に関して装備できるフラグを設ければ解決するというのは少しだけ考えていました。
ただヒットポイントを回復する傷薬に対しても「命中率とかを設けなければいかないのか・・・」とも思っていました。
クラス継承とかはあまり得意ではないので、softyaさんに教えて頂いた方法は近道だと思っています。

>>dicさん
ご提示いただいた方法は、今考えている方法を進めた結果になると思います。
ここの宣言よくが分からないので教えていただけないでしょうか。(それ以外はなんとなく理解できております)

コード:

    ***         item_3[2];
ここは何を定義しているのでしょうか?

アバター
h2so5
副管理人
記事: 2212
登録日時: 13年前
住所: 東京
連絡を取る:

Re: 武器とアイテムの実装方法について

#5

投稿記事 by h2so5 » 11年前

taketoshi さんが書きました:実装方法に関して武器に関して装備できるフラグを設ければ解決するというのは少しだけ考えていました。
ただヒットポイントを回復する傷薬に対しても「命中率とかを設けなければいかないのか・・・」とも思っていました。
普通のアイテムについては命中率100%にすればいいのでは?
ゲームによってはアイテムにも効果の成功率とか有りそうですが。

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: 武器とアイテムの実装方法について

#6

投稿記事 by ISLe » 11年前

わたしなら所持アイテムの下に装備アイテム・使用アイテムという関係にすると思います。

それに装備・使用というのはアイテムではなくアクションだと思います。
メンバを共有する必要もないですし。

クラス継承を勉強する良い機会なのでは。

dic
記事: 657
登録日時: 13年前
住所: 宮崎県
連絡を取る:

Re: 武器とアイテムの実装方法について

#7

投稿記事 by dic » 11年前

>>taketoshiさん
taketoshiさん さんが書きました: ご提示いただいた方法は、今考えている方法を進めた結果になると思います。
ここの宣言よくが分からないので教えていただけないでしょうか。(それ以外はなんとなく理解できております)

コード:

     ***         item_3[2]; 
ここは何を定義しているのでしょうか?
上にはほかに宣言しているクラスがなかったので、「その他」という意味で *** と表現しました。
Weapon, Item, ときているので、盾(Shiled) でもなんでもいいです。という意味です。

実装方法にはいろいろありますから、いろいろメリット、デメリット、技術的に難しいか、判断して
選ぶのがいいと思います。

taketoshi
記事: 222
登録日時: 13年前
住所: 日本国

Re: 武器とアイテムの実装方法について

#8

投稿記事 by taketoshi » 11年前

>皆様アドバイスありがとうございます。


結果的に読み込む武器データにすべてが0のアイテムを持っていない状態を定義することと
武器とアイテムの区別は装備フラグをつけて対応しました。

また、以下のようにクラス設計してアイテムを実装しました
キャラクタークラスでアイテムクラスのポインタを所持し、インスタンス化して使っています。
dicさんに教えていただいた形で実装できました。
► スポイラーを表示
ありがとうございます。解決とさせていただきます。
これから、アイテムの使用・装備の処理を施していきます。

閉鎖

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