Untitled

 avatar
unknown
plain_text
2 years ago
3.4 kB
2
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...