0

チェス ゲームを作成しています。グラフィック チェス盤にすべての駒を配置しました。次に、Mouselistner を使用して駒を移動する必要があります。グラフィック バージョンを実装する前に、「プレーヤーの動き」を取り入れた 2D コンソール バージョンを作成したので、これらのメソッドはすべてありますが、Mouselistener を使用する必要があります。メソッドについて読みましたが、実装する必要がありますか?各クラスのマウスリスナー?

1 つの抽象ピース クラスと 7 つのサブクラス (ダミー ピースを含む)、およびすべてのピースを入力し、(コンソール バージョンから..) 移動するためのメソッドを提供する ChessBoard クラスがあります。Jcomponent 拡張では、チェス盤と動きを設定するメソッドを含む JFrame または ChessBoard クラス?

4

2 に答える 2

0

それは、あなたの作品がどのように実装されているかによって多少異なります。それらがボタンやパネルなどの GUI オブジェクト自体である場合、それらに mouseListener を配置すると、Swing フレームワークはどれがクリックされたかを把握できます。ピースがすべて Piece クラスを拡張する場合、実行する必要があるロジック (ピースの移動など) をすべてのピースで同じにすることができる限り、その中にハンドラを配置できます。

一方、コードでボード上のグラフィック イメージを描画していて、Swing がクリックされたことを検出するための GUI コンポーネントがない場合は、ボードに mouseListener を実装する方が理にかなっています。この場合、コードは、どの四角がクリックされたか、その上にピースがあるかどうかを把握する必要があります。その後の処理は前のケースとほとんど同じになります。

于 2013-11-06T03:56:09.810 に答える