Untitled
unknown
plain_text
2 years ago
3.4 kB
3
Indexable
$(document).ready(function() {
var currentPlayer = "X";
var gameActive = true;
// Function to check if the game has been won
function checkWin() {
var board = [
[$("#cell1"), $("#cell2"), $("#cell3")],
[$("#cell4"), $("#cell5"), $("#cell6")],
[$("#cell7"), $("#cell8"), $("#cell9")]
];
// Check rows
for (var i = 0; i < 3; i++) {
if (board[i][0].text() === currentPlayer && board[i][1].text() === currentPlayer && board[i][2].text() === currentPlayer) {
board[i][0].addClass("winning");
board[i][1].addClass("winning");
board[i][2].addClass("winning");
return true;
}
}
// Check columns
for (var j = 0; j < 3; j++) {
if (board[0][j].text() === currentPlayer && board[1][j].text() === currentPlayer && board[2][j].text() === currentPlayer) {
board[0][j].addClass("winning");
board[1][j].addClass("winning");
board[2][j].addClass("winning");
return true;
}
}
// Check diagonals
if (board[0][0].text() === currentPlayer && board[1][1].text() === currentPlayer && board[2][2].text() === currentPlayer) {
board[0][0].addClass("winning");
board[1][1].addClass("winning");
board[2][2].addClass("winning");
return true;
}
if (board[0][2].text() === currentPlayer && board[1][1].text() === currentPlayer && board[2][0].text() === currentPlayer) {
board[0][2].addClass("winning");
board[1][1].addClass("winning");
board[2][0].addClass("winning");
return true;
}
return false;
}
// Function to handle a cell click
function handleCellClick(cell) {
if (gameActive && cell.text() === "") {
cell.text(currentPlayer);
if (checkWin()) {
$("#message").html("<span class='winner'>" + currentPlayer + "</span> wins!");
gameActive = false;
} else if ($("#board td:empty").length === 0) {
$("#message").text("It's a tie!");
gameActive = false;
} else {
currentPlayer = (currentPlayer === "X") ? "O" : "X";
$("#message").text("Current Player: " + currentPlayer);
}
}
}
// Event handler for cell clicks
$("#board td").click(function() {
handleCellClick($(this));
});
// Event handler for X button click
$("#xButton").click(function() {
currentPlayer = "X";
$("#message").text("Current Player: " + currentPlayer);
gameActive = true;
$("#board td").text("").removeClass("winning");
});
// Event handler for O button click
$("#oButton").click(function() {
currentPlayer = "O";
$("#message").text("Current Player: " + currentPlayer);
gameActive = true;
$("#board td").text("").removeClass("winning");
});
// Event handler for Reset button click
$("#resetButton").click(function() {
currentPlayer = "X";
$("#message").text("Current Player: " + currentPlayer);
gameActive = true;
$("#board td").text("").removeClass("winning");
});
});
Editor is loading...