Untitled
unknown
plain_text
2 years ago
2.6 kB
5
Indexable
<!DOCTYPE html> <html> <head> <title>Tic Tac Toe</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <h1>Tic Tac Toe</h1> <div id="board"> <div class="cell"></div> <div class="cell"></div> <div class="cell"></div> <div class="cell"></div> <div class="cell"></div> <div class="cell"></div> <div class="cell"></div> <div class="cell"></div> <div class="cell"></div> </div> <button id="reset">Reset</button> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="script.js"></script> </body> </html> #board { width: 300px; height: 300px; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); } .cell { border: 1px solid black; display: flex; align-items: center; justify-content: center; font-size: 48px; cursor: pointer; } button { display: block; margin-top: 10px; } $(document).ready(function() { var currentPlayer = "X"; var cells = $(".cell"); cells.click(function() { var cell = $(this); if (cell.text() === "") { cell.text(currentPlayer); cell.addClass(currentPlayer); if (checkWin(currentPlayer)) { alert(currentPlayer + " wins!"); resetBoard(); } else if (checkDraw()) { alert("It's a draw!"); resetBoard(); } else { currentPlayer = currentPlayer === "X" ? "O" : "X"; } } }); $("#reset").click(function() { resetBoard(); }); function checkWin(player) { var winningCombinations = [ [0, 1, 2], [3, 4, 5], [6, 7, 8], [0, 3, 6], [1, 4, 7], [2, 5, 8], [0, 4, 8], [2, 4, 6] ]; for (var i = 0; i < winningCombinations.length; i++) { var combo = winningCombinations[i]; if ( cells.eq(combo[0]).hasClass(player) && cells.eq(combo[1]).hasClass(player) && cells.eq(combo[2]).hasClass(player) ) { return true; } } return false; } function checkDraw() { return $(".cell:empty").length === 0; } function resetBoard() { cells.text(""); cells.removeClass("X"); cells.removeClass("O"); currentPlayer = "X"; } });
Editor is loading...