首页 > 解决方案 > 如何生成正确填写单元格和列属性的板对象?

问题描述

我正在尝试创建一个生成板的函数。

function createBoard(rowSize, colSize, mineNum) {

  let board = { cells: []}

  let boardSize = rowSize * colSize;
  
  for (let i = 0; i < boardSize; i++){
    for (let j = 0; j < rowSize; j++){
    board.cells[i] = {
      row: i%rowSize,
      col: i%j,
      isMine: false,
      isMarked: false,
      hidden: true
    }
  }
  }
return board
}

行和列的当前属性只是猜测。如何创建一个所有列和行属性都正确填写的板?就像这样,没有两个单元格具有相同的行和列属性。

干杯!

标签: javascriptminesweeper

解决方案


你离得不远了!您不需要多个列和行,因为您的嵌套循环实际上正在为您处理这些问题。您可以直接使用ij推送到cells数组。

function createBoard(rowSize, colSize, mineNum) {
  const board = { cells: [] };
  for (let i = 0; i < colSize; i++){
    for (let j = 0; j < rowSize; j++){
      board.cells.push({
        row: j,
        col: i,
        isMine: false,
        isMarked: false,
        hidden: true
      });
    }
  }
  return board;
}

const board = createBoard(10, 10);

console.log(board);


推荐阅读