That pen was created during interview.
A Pen by sutulovalexander241038 on CodePen.
| <div class="current__player"> | |
| O | |
| </div> | |
| <br> | |
| <div class="cell"></div> | |
| <div class="cell"></div> | |
| <div class="cell"></div> | |
| <br> | |
| <div class="cell"></div> | |
| <div class="cell"></div> | |
| <div class="cell"></div> | |
| <br> | |
| <div class="cell"></div> | |
| <div class="cell"></div> | |
| <div class="cell"></div> | |
| <br> | |
| <div class="winner"></div> | |
| <div class="reset">Начать заново</div> |
| window.onload = function() { | |
| function winning(cells, player) { | |
| if ( | |
| (cells[0].innerHTML == player && | |
| cells[1].innerHTML == player && | |
| cells[2].innerHTML == player) || | |
| (cells[3].innerHTML == player && | |
| cells[4].innerHTML == player && | |
| cells[5].innerHTML == player) || | |
| (cells[6].innerHTML == player && | |
| cells[7].innerHTML == player && | |
| cells[8].innerHTML == player) || | |
| (cells[0].innerHTML == player && | |
| cells[3].innerHTML == player && | |
| cells[6].innerHTML == player) || | |
| (cells[1].innerHTML == player && | |
| cells[4].innerHTML == player && | |
| cells[7].innerHTML == player) || | |
| (cells[2].innerHTML == player && | |
| cells[5].innerHTML == player && | |
| cells[8].innerHTML == player) || | |
| (cells[0].innerHTML == player && | |
| cells[4].innerHTML == player && | |
| cells[8].innerHTML == player) || | |
| (cells[2].innerHTML == player && | |
| cells[4].innerHTML == player && | |
| cells[6].innerHTML == player) | |
| ) { | |
| return `Winner is ${player}`; | |
| } else { | |
| return false; | |
| } | |
| } | |
| var cells = document.getElementsByClassName("cell"); | |
| var winner = ""; | |
| var currentPlayer = 1; | |
| document.getElementsByClassName( | |
| "current__player" | |
| )[0].innerHTML = currentPlayer; | |
| var currentPlayerTitle = "O"; | |
| Array.from(cells).map(function(cell, index) { | |
| cell.addEventListener("click", function(e) { | |
| if (e.target.innerHTML == "X" || e.target.innerHTML == "O") { | |
| return; | |
| } | |
| if (currentPlayer === 1) { | |
| e.target.innerHTML = "X"; | |
| winner = winning(cells, "X"); | |
| currentPlayerTitle = "O"; | |
| currentPlayer = 2; | |
| } else if (currentPlayer === 2) { | |
| e.target.innerHTML = "O"; | |
| winner = winning(cells, "O"); | |
| currentPlayerTitle = "X"; | |
| currentPlayer = 1; | |
| } | |
| if (winner != false) { | |
| document.getElementsByClassName("winner")[0].innerHTML = winner; | |
| var resetButton = document.getElementsByClassName("reset")[0]; | |
| resetButton.style.display = "block"; | |
| resetButton.addEventListener("click", function(e) { | |
| document.getElementsByClassName("reset")[0].style.display = "none"; | |
| document.getElementsByClassName("winner")[0].innerHTML = ""; | |
| this.cells = []; | |
| Array.from(cells).map(function(cell, index) { | |
| cell.innerHTML = ""; | |
| }); | |
| currentPlayer = 1; | |
| }); | |
| } else { | |
| document.getElementsByClassName( | |
| "current__player" | |
| )[0].innerHTML = currentPlayer == 1 | |
| ? 'Current player is ' + currentPlayer + ' and sign is "X"' | |
| : 'Current player is ' + currentPlayer + ' and sign is "O"' | |
| } | |
| }); | |
| }); | |
| }; |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.2.0/umd/react.development.js"></script> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.2.0/umd/react-dom.development.js"></script> |
| @import url("https://fonts.googleapis.com/css?family=Roboto:400,400i,700"); | |
| div { | |
| display: inline-block; | |
| font-size: 30px; | |
| color: forestgreen; | |
| box-sizing: border-box; | |
| vertical-align: middle; | |
| font-family: Roboto, sans-serif; | |
| } | |
| .current__player { | |
| color: black; | |
| } | |
| .cell { | |
| width: 35px; | |
| height: 35px; | |
| text-align: center; | |
| border: 1px solid black; | |
| margin-bottom: 5px; | |
| margin-top: 5px; | |
| } | |
| .winner { | |
| color: red; | |
| font-size: 35px; | |
| } | |
| .reset { | |
| display: none; | |
| } | |
| .reset:hover { | |
| cursor: pointer; | |
| } |
That pen was created during interview.
A Pen by sutulovalexander241038 on CodePen.