私は初心者なので、最初から良いOOPトレイルをたどりたいだけなので、あまりやけどしないでください:)だから、Swingを使用してJavaでマインスイーパをコーディングしています。今のところ、私のコードはこのような:
- オブジェクト Minesweeper() を作成してゲームを開始する main() のみを持つクラス
- メニュー用の JFRame、JPanel (およびそのための ActionListener) を作成し、Grid(x,y) オブジェクトを作成する Minesweeper クラス
- JPanel を拡張する Grid(int width, int height) クラスを使用して、指定された寸法のグリッドを作成し、その上に地雷を置き、すべての再生を処理します
ただし、Grid() にはいくつかの懸念があります。ユーザーが爆弾以外の何かをクリックして周囲を表示する必要がある場合に備えて、必要な数の JButton の描画から、地雷の設定、クリックのリッスン (およびそれらのクリックへの対処) まで、finding_empty_cells アルゴリズムまですべてを処理しても問題ありませんか? 1つのクラスで空になりますか?それは単一責任の原則に違反していませんか?それとも大丈夫ですか?