単純な Windows フォーム ベースのゲーム プロジェクトでクラスを編成する際に概念的な問題があります。Windows フォームを使用して、もぐらたたきゲームを実装する必要があります。モグラ塚はチェックボックスで表されます。チェックボックスがチェックされている場合、モグラ塚にモグラがいます。チェックボックスをオンにすることでモグラを殺すことができます。
GamePlayiaクラスを含むクラスを作成することができました:(チェックボックスの配列にGameBoard基づくゲームボード表現)、 (確率率、1ラウンド中のモルの最大数、ラウンドの持続時間など)。クラスには(これまでに何匹のもぐらが殺されたか)もあります。私のソリューションにはさらに多くのクラス/構造がありますが、この問題のコンテキストでは重要ではありません。TableLayoutPanelRulesGamePlayPointsCounter
ゲーム ボードのサイズは構成ウィンドウで設定できるので、 Start Gameボタンをクリックした後、 TableLayoutPanelに動的にチェックボックスを作成します。チェックボックスの配列とそれらのイベント ハンドラーはクラスに配置されます。ほくろを殺した後、更新する必要があります(実際には、クラスから呼び出される適切な値を追加する必要があります)。しかし、私はそのようなクラスモデルではできません。イベントハンドラーチェックボックスのマウスクリック(クラス内)から(クラス内)へのアクセスはありません。GameBoardpointsForMoleKillingRulesPointsCounterGamePlayGameBoard
クラス間の依存関係を再編成するにはどうすればよいですか?
私の一時的な解決策はRules、pointsForMoleKillingおよびscore()(GamePlayクラスからも)staticを作成することです。