Java 二维数组仅按预期处理第一行

Java two dimensional array only working as intended with the first row

此代码是我正在制作的扫雷游戏板的基本部分 class。但是,当我显示板时,这只显示数组的第一行。这段代码看了这么久,也看不出我的二维数组哪里错了。感谢任何帮助

public class Board {

 private Cell[][] cells;

    public Board(PApplet p, int rows, int columns, double bombChance) {

        cells = new Cell[rows][columns];

        for (int r = 0; r < cells.length; r++) {

            for (int c = 0; c < cells[r].length; c++) {

                double randomSeed = Math.random();

                if (randomSeed < bombChance) {
                    cells[r][c] = new BombCell(p);
                } else {
                    cells[r][c] = new SafeCell(p);
                }


            }
        }

    }

    public void display() {

        double tempX = 0;
        double tempY = 0;
        double size = 50;

        for (int r = 0; r < cells.length; r++) {
            for (int c = 0; c < cells[r].length; c++) {

                cells[r][c].display(tempX, tempY, size);

                tempX += 50;
            }

            tempY += 50;

        }
    }
}

当您开始渲染下一行时,您似乎无法重置 tempX

这可能会解决您的问题:

public void display() {

    double tempX = 0;
    double tempY = 0;
    double size = 50;

    for (int r = 0; r < cells.length; r++) {
        for (int c = 0; c < cells[r].length; c++) {

            cells[r][c].display(tempX, tempY, size);

            tempX += 50;
        }

        tempY += 50;
        tempX = 0;           // <-------------- look here

    }
}