扫雷标志java

时间:2017-05-18 02:32:30

标签: java mouselistener flags minesweeper

我在编程方面很陌生,但我需要为游戏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();

}

我希望有人可以帮助我。

坦克:)

1 个答案:

答案 0 :(得分:0)

当您使用button的方法时,您永远不会指定要禁用的按钮。我建议您在方法中添加JButton参数,以便更改它们。

此外,check布尔值永远不会被初始化为布尔值,除非它是您正在使用的实例变量,在这种情况下,您需要编辑帖子以包含实例变量。