连接四个Java行代码不起作用

时间:2014-05-28 23:24:25

标签: java

我需要完成这个连接我制作的四个游戏。看起来这些行不会因为我不知道的某些原因而起作用。这是我的行代码。当我运行我的代码时,游戏连续4次后不会停止,但是当我在列中或在诊断中得到4时它确实停止了。所有其他可能性都可以使用此格式。这是我的专栏的一个例子。这有效:

public boolean win_col() {
    int xTemp = x;
    int yTemp = y;
    int win = 0;
    while (xTemp != 6) {
        if (A[xTemp][yTemp] == cod) {
            win ++;
            xTemp ++;
        }
        else
            break;

        if (win == 4) {
            return true;
        }
    }

    return false;
}

这就是我尝试使用我的行。

public boolean win_row() {
    int xTemp = x;
    int yTemp = y;
    int win = 0;
    while (yTemp != 0) {
        if (A[xTemp][yTemp] == cod) {
                win ++;
                yTemp --;
        }
        else 
            break;
        if (win == 4) {
            return true;
        }
    }
    yTemp = y + 1;
    while (yTemp != 7) {
        if (A[xTemp][yTemp] == cod) {
            win ++;
            yTemp ++;
        }
        else 
            break;
        if (win == 4) {
            return true;
        }
    }
    return false;
}

我一直这样做,我的排不起作用。除了行之外的所有内容都适用于我的程序HELP !!

1 个答案:

答案 0 :(得分:1)

我仍然不了解你是如何检查win场景的,所以这是一个简单的方法,我可以调试而无需使用IDE的调试器,这看起来像你没有&#39 ; t有很多使用经验。

在每个州,添加System.out.println以查看代码是否实际上应该按照应有的方式运行。我会做类似

的事情
public boolean win_row() {
    int xTemp = x;
    int yTemp = y;
    int win = 0;
    while (yTemp != 0) {
        if (A[xTemp][yTemp] == cod) {
                win ++;
                yTemp --;
                System.out.println("Going Left: Matched");
        }
        else {
            System.out.println("Going Left: Not Matched");
            break;
        }
        if (win == 4) {
            return true;
        }
    }
    yTemp = y + 1;
    while (yTemp != 7) {
        if (A[xTemp][yTemp] == cod) {
            win ++;
            yTemp ++;
            System.out.println("Going Right: Matched");
        }
        else {
            System.out.println("Going Right: Not Matched");
            break;
        }
        if (win == 4) {
            return true;
        }
    }
    return false;
}

您还可以使用System.out.println来跟踪所有变量,看看它是否实际上在它经历的每个状态中递增/递减它的方式。