これが現在の依存関係グラフです(TheTXIのフリーハンドサークル付き)
ゲームには、プレーヤーと1つのボードが共有されます。プレイヤーはボードにアクセスして、ボードからユニットを追加/移動/削除することもできます。プレイヤーは、ボードの内外を問わず、所有しているユニットにアクセスできます(ユニットは所有者も知っていますが、おそらく削除してルックアップを行うことができます)。ボードにはユニットがあり、ユニットの位置を知っています。ユニットには能力があります(プレイヤーも可能です)
私が理解するのに苦労している大きなものは、ユニットの能力です。彼らはゲーム内のあらゆるものに影響を与え、プレイヤー/ユニットを癒し/ダメージを与え、ボード上のものを再配置し、おそらくゲーム自体にさえ影響を与えることができるはずです(これまでのところ必要はありませんが、それが起こる可能性があります)。
すべてを参照しなくても、何かに影響を与える可能性のある能力をどのように持つことができますか?それぞれの能力は必要なものだけを参照できるし、そうすべきだと思いますが、ユニットクラスには能力が組み込まれているので、ユニットの能力がボードに影響を与える場合、ユニットからボードへの参照を何らかの方法で取得する必要がありますか?
ルールがまだ決まっていないので、デザインをできるだけ柔軟に保つようにしています(ゲームを作成しているので、まだかなり早い段階なので、何かを試してみて、感じ方を確認し、ルールを変更してくださいゲームが正しく感じるまで)
ボード/マップがあるかどうかはまだ空中にあるので、ユニットは現在のユニットから切り離す必要があります。グローバルな状態や「神オブジェクト」は(まだ)存在しないので、そのままにしておきたいと思います。
具体的にはPython、webappであるため、質問自体は言語に依存しませんが、ファーストクラス関数を備えた動的言語に基づく詳細は確かに歓迎されます。