From 440471c0b026e6f3938b2f3d93e281303d634a31 Mon Sep 17 00:00:00 2001 From: Michel Wilhelm Date: Sun, 8 Nov 2020 01:55:31 -0300 Subject: [PATCH] Fixes --- src/App.js | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/App.js b/src/App.js index 4e810e8..b2bf5a1 100644 --- a/src/App.js +++ b/src/App.js @@ -18,6 +18,8 @@ function App() { if (value < 3 || value > 99) { return; } + + setMaxMines(); setRows(value); }; @@ -25,9 +27,18 @@ function App() { if (value < 3 || value > 99) { return; } + + setMaxMines(); setCols(value); }; + const setMaxMines = () => { + const matrixSize = rows * cols; + if (mines > matrixSize) { + setMines(matrixSize - 1); + } + }; + const generateDummyBoard = () => { setDummyBoard([]); const board = []; @@ -48,6 +59,10 @@ function App() { if (value < 1 || value > 99) { return; } + const matrixSize = rows * cols; + if (value >= matrixSize) { + return; + } setMines(value); }; @@ -66,14 +81,10 @@ function App() { document.getElementsByClassName('reset')[0].innerHTML = '😎'; // Search for all unrevealed squares to put the flag - dummyBoard.map((row, rowId) => + activeGame.board.map((row, rowId) => row.map((col, colId) => { - const cell = document.getElementById(`cell_${rowId}_${colId}`); - if ( - !cell.classList.contains('revealed') && - !cell.classList.contains('empty') && - !cell.classList.contains('point') - ) { + if (col === -1) { + const cell = document.getElementById(`cell_${rowId}_${colId}`); cell.classList.add('flagged'); } }) @@ -81,7 +92,6 @@ function App() { } if (activeGame && activeGame.win === false) { - console.log(activeGame); // search for all mines on board activeGame.board.map((row, rowId) => row.map((col, colId) => {