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