Java二维数组仅按预期工作第一行

标签 java arrays minesweeper

这段代码是我正在制作的扫雷游戏板类的基本框架。但是,当我显示电路板时,这只显示数组的第一行。我已经看了这段代码这么久了,看不出二维数组哪里出了问题。感谢任何帮助

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

    }
}

关于Java二维数组仅按预期工作第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42628184/

相关文章:

java - 如何解释这些时间戳?

java - 在扫雷游戏中显示所有空间

java - 在 eclipse - Ubuntu 14.04 32 位上安装 OpenCV 3.0.0

java - KafkaConsumer 在轮询时进入无限期等待状态

java - Web 服务如何独立于 DAL 实现?

javascript - 我如何调整此代码,使其仅返回 null、未定义或空值

使用c中的用户输入和函数计算数组的总和和平均值

javascript 按键获取数组值

c++ - 程序在每次运行时生成相同的随机数?

java - 如何在没有 JButton 的情况下使 ImageIcon(或任何类型的图像)可见?