私が Java でチェス プログラムを書いた方法では、GameLauncher クラスと他のすべてのクラスを含む Game クラスがあります。これらのクラスはすべてprivate Piece[][] board
、ボード上のピースを表す Game のインスタンス変数にアクセスする必要があるためです。これらの内部クラスは、Player、BoardPanel (JPanel)、Piece、およびその他すべての PIECE サブクラス (Rook、Horse、Bishop、King など) です。
これを実装する標準的な方法は、クラスを Game の内部クラスとして持つ (それにより、Game のboard
オブジェクトに直接アクセスできるようにする) か、それらを個別のクラスとして持ちthis
、すべての単一の呼び出しに渡すことnew
でしょうか?
あれは、
board[0][0] = new Car(new Point(0, 0), RED);
に比べ
board[0][0] = new Car(new Point(0, 0), RED, this);