1

私はJavaの敵のフレームワークを設計し、オブザーバーと協力しています。それが可能かどうか疑問に思います| 1つのクラスにオブザーバーとサブジェクトの両方をJavaで実装させる努力の価値はありますか?

プレイヤーや敵が目撃された場合に、一定の距離内にいる敵がお互いに警告できるように、サブジェクトとオブザーバーの両方を実装する敵インターフェースが必要です。

ここで使用するより良いパターンはありますか?

4

1 に答える 1

1

フレームワークを実際にどのように実装したいかにもよりますが、オブザーバーパターンよりもこれらの1つを使用する方が少し適切だと思います。

サブジェクト/オブザーバーの問題は、敵がお互いの範囲内/範囲外に移動したときに登録/登録解除することです。

次のように、暗黙的な呼び出しまたはイベント駆動型をお勧めします。

  • 敵がプレイヤーを目撃するたびに、他のすべての敵にブロードキャストされる「イベント」を生成します。
  • このイベントには、放送元を指定するための座標があります。
  • イベントを受信する各敵(すべての敵)について、座標を見て、それがそれ自体の特定の範囲内にあるかどうかを確認します
    • そうでない場合は、それを無視します(そして、それを聞いたことがないかのように見せかけます)
    • もしそうなら、必要に応じて何かをしてください。
于 2012-11-18T16:43:16.337 に答える