みなさん、こんにちは!
オブジェクトベースプログラミングのほとんどの側面をよりよく理解するための一環として、私はこれまでよりもはるかに大きなことを試み始めました。これにより、継承、コードの再利用、クラスの使用方法などについて学習しようとしています。この目的のために、私は基本的なRPG/ダンジョンクローラーに必要なすべてのパーツをつなぎ合わせようとしています。これは10億回前に行われたことは知っていますが、実際にそのようなコードを作成しようとすると、思ったよりもはるかに多くの問題が発生することがわかります。これは、学ぶのに最適な方法です(私は思います)。
今のところ、WPFアプリケーションをロードしただけです。これは、作業クラス、ルーチン、関数などをつなぎ合わせることができることに95%関心があるためです。また、どのように表示されるかについてはあまり関心がありません。私は実際にXNAについて読んでいますが、私は主に基本的な動作を把握しようとしているので、これらの側面をグラフィックの側面で複雑にしたくはありません。
私が今直面している問題は、私がキャラクターを攻撃または防御するとき、それが他のどのキャラクターから来たのか、またはどのキャラクターに向けられるべきかを知る必要があるということです。GUIDまたは手動で指定されたIDのいずれかを使用できると思いました。しかし、問題は、私がそのようなことをどのように実装できるかを本当に知らないということです。私が考えたのは、配列への参照(Character [])を追加し、SearchByID関数をループさせて正しい配列を見つけ、それを返すことができるということでした。そのようです:
internal Character SearchByID(string _ID)
{
foreach(Character charToFind in Character[])
{
if(charToFind.ID == _ID)
return charToFind;
}
}
もちろん、これは現時点での復帰のために少し変更する必要がありますが、単にあなたにアイデアを与えるためです。私が立ち往生しているのは、「Character」クラスの外部に適切な配列を作成する方法です。うまく埋めることができますが、クラスレベルより上に追加するにはどうすればよいですか?「Character」クラスを構築する方法は、すべての新しいキャラクターがCharacterクラスからインスタンス化することです。次に、コンストラクターは適切な値をロードします。しかし、これ以外に、これ以外の配列を初期化する可能性はありません。
私が持っているコード全体を投稿することが望ましい場合、それはまったく問題ありません!
あなたが私に提供するかもしれない洞察に感謝します。