diff --git a/index.js b/index.js index 7553909..06a866e 100644 --- a/index.js +++ b/index.js @@ -4,21 +4,29 @@ const EMPTY = ' '; const container = document.getElementById('fieldWrapper'); +let field = []; +let count = 0; +let isWin = false; + startGame(); addResetListener(); function startGame () { - renderGrid(3); + let dem = prompt("Размер поля:", 3); + renderGrid(dem); + count = dem*dem; } function renderGrid (dimension) { container.innerHTML = ''; for (let i = 0; i < dimension; i++) { + field[i] = []; const row = document.createElement('tr'); for (let j = 0; j < dimension; j++) { const cell = document.createElement('td'); cell.textContent = EMPTY; + field[i][j] = EMPTY; cell.addEventListener('click', () => cellClickHandler(i, j)); row.appendChild(cell); } @@ -28,14 +36,71 @@ function renderGrid (dimension) { function cellClickHandler (row, col) { // Пиши код тут + if(count%2 == 0) + getSymbol(row, col, CROSS); + else + getSymbol(row, col, ZERO); console.log(`Clicked on cell: ${row}, ${col}`); +} +function getSymbol (row, col, sym){ + if(findCell(row, col).textContent == EMPTY && !isWin) + { + renderSymbolInCell(sym, row, col); + field[row][col] = sym; + count-=1; + if(checkWinner (row, col, sym)){ + alert(`Победитель: ${sym === CROSS ? "крестики" : "нолики"}`); + isWin = true; + } + if(count == 0 && !checkWinner (row, col, sym)) + alert("Ничья"); + } +} - /* Пользоваться методом для размещения символа в клетке так: - renderSymbolInCell(ZERO, row, col); - */ +function checkWinner (row, col, sym){ + let flag = true; + let winWay = ''; + for(let i = 0; i