2017-05-18 5 views
-6

私はプログラミングではかなり新しいですが、私はゲームMinesweeperをプログラムする必要があります。 基本的にゲームは実行されていますが、動作しない部分があります。Minesweeper flags java

最初の問題はフラグです。 My Minesweeperはフィールドを右クリックしてフラグを設定できますが、フラグが付いたフィールドを左クリックするたびにフィールドがフラグをオーバーライドします。

Field after a right click Flagged field after a left click
「絶対」または最終か何かフラグを設定する方法はありますか?ここ はコードです:

@Override 
public void mouseClicked(MouseEvent arg0) { 
    if (SwingUtilities.isRightMouseButton(arg0)) { 

     setFlag(); 

    } else if (SwingUtilities.isLeftMouseButton(arg0)) { 

     checkMine(); 

    } 

public void setFlag() { 

    button.setEnabled(false); 
    button.setText(flag); 
    button.setBackground(Color.LIGHT_GRAY); 

} 

public void checkMine() { 

    button.setEnabled(false); 
    display(); 
    check = false; 
    if (value == 0) 
     log.emptyCells(); 

    if (value == -1) 
     log.fail(); 

    if (value == -3) 
     log.lucky(); 

} 

私はここで誰かが私を助けることができることを願っています。

タンク:)あなたはbuttonとメソッドを使用している場合は

答えて

0

、あなたが無効にされているボタンを指定されることはありません。メソッドにパラメータJButtonを追加して変更することをお勧めします。

また、使用しているインスタンス変数でない限り、ブール値はブール値として初期化されません。この場合、インスタンス変数を含めるために投稿を編集する必要があります。

関連する問題