diff --git a/cross.js b/cross.js index a3fc49c..9c3dbb4 100644 --- a/cross.js +++ b/cross.js @@ -536,14 +536,24 @@ function updateLabelsAndClues() { let count = 1; for (let i = 0; i < xw.rows; i++) { for (let j = 0; j < xw.cols; j++) { + let isAcross = false; let isDown = false; + if (xw.fill[i][j] != BLACK) { - isDown = i == 0 || xw.fill[i - 1][j] == BLACK; - isAcross = j == 0 || xw.fill[i][j - 1] == BLACK; + if (i == xw.rows - 1) { + isAcross = j == 0 || xw.fill[i][j - 1] == BLACK; + } else if (j == xw.cols - 1) { + isDown = i == 0 || xw.fill[i - 1][j] == BLACK; + } else { + isDown = (i == 0 || xw.fill[i - 1][j] == BLACK) && xw.fill[i + 1][j] != BLACK; + isAcross = (j == 0 || xw.fill[i][j - 1] == BLACK) && xw.fill[i][j + 1] != BLACK; + } } + const grid = document.getElementById("grid"); let currentCell = grid.querySelector('[data-row="' + i + '"]').querySelector('[data-col="' + j + '"]'); + if (isAcross || isDown) { currentCell.firstChild.innerHTML = count; // Set square's label to the count count++;