Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <title>Tic Tac Toe</title>
- <style>
- h2 {
- background-color: coral;
- text-align: center;
- }
- #playername {
- text-align: right;
- color: darkred;
- }
- #reset {
- text-align: center;
- font-size: medium;
- float: right;
- position: absolute;
- width: 180px;
- bottom: 350px;
- height: 16px;
- padding: 15px;
- }
- </style>
- </head>
- <body>
- <h2> Tic-Tac-Toe</h2>
- <div id="playername"></div>
- <div>
- <input type="reset" value="Reset" id="reset"></input>
- </div>
- <script src='jquery-3.3.1.js'></script>
- <script>
- $(document).ready(startGame);
- function startGame() {
- var blocks = 9;
- var player1 = 'x', player2 = 'o';
- var chance = 1;
- var buttonId = 1;
- var tie = 10;
- var isWinner = false;
- var checkTie = false;
- var cell1, cell2, cell3;
- var buttonKey;
- var outputArray = [];
- var array1, array2, array3, array4, array5, array6, array7, array8, array9;
- var horizontalWinningCombinations = [[1, 2, 3], [4, 5, 6], [7, 8, 9],];
- var verticalWinningCombinations = [[1, 4, 7], [2, 5, 8], [3, 6, 9]];
- var diagonalWinningCombinations = [[1, 5, 9], [3, 5, 7]];
- for (var index = 0; index < blocks; index++) {
- buttonKey = document.createElement("button");
- if ((index == 3 || index == 6)) {
- lineBreak = document.createElement('br');
- document.body.appendChild(lineBreak);
- }
- buttonKey.id = buttonId;
- buttonKey.setAttribute("value", buttonId);
- buttonKey.setAttribute("text", buttonId);
- buttonKey.style.fontFamily = "Times New Roman";
- buttonKey.style.backgroundSize = "50px";
- buttonAttribute();
- // buttonKey.innerHTML = " + ";
- // buttonKey.style.backgroundColor = "#C0C0C0";
- buttonKey.style.fontSize = "25px";
- buttonKey.style.marginBottom = "10px";
- buttonKey.style.marginLeft = "10px";
- buttonKey.style.marginRight = "10px";
- document.body.appendChild(buttonKey);
- buttonId++;
- document.getElementById("playername").innerHTML = "Player 1 = 'x'";
- buttonKey.addEventListener("click", function (event) {
- if (isWinner == true || checkTie == true) {
- console.log("Game is over!");
- alert("Game Over!")
- reset();
- }
- else {
- selectMark(event, event.srcElement);
- checkIsWinner();
- }
- });
- }
- function selectMark(currentObject, currentType) {
- if (chance % 2 != 0) {
- document.getElementById("playername").innerHTML = "Current Player: player1 = 'x'" + "<br>" + "<br>";
- document.getElementById("playername").innerHTML += "Next Player: player2 = 'o'";
- outputArray.push([currentType.id]);
- document.getElementById(currentType.id).innerHTML = player1;
- document.getElementById(currentType.id).style.backgroundColor = '#238EE1';
- chance++;
- return;
- }
- document.getElementById("playername").innerHTML = "Current Player :player2 = 'o'" + "<br>" + "<br>";
- document.getElementById("playername").innerHTML += "Next Player: player1 = 'x'"
- outputArray.push([currentType.id]);
- document.getElementById(currentType.id).innerHTML = player2;
- document.getElementById(currentType.id).style.backgroundColor = '#FF1010';
- chance++;
- }
- function checkIsWinner() {
- winningCombinations = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [1, 4, 7], [2, 5, 8], [3, 6, 9],
- [1, 5, 9], [3, 5, 7]];
- if (chance == 2) {
- array1 = outputArray[0];
- console.log("array1=" + array1);
- }
- if (chance == 3) {
- array2 = outputArray[1];
- console.log("array2=" + array2);
- }
- if (chance == 4) {
- array3 = outputArray[2];
- console.log("array3 = " + array3);
- }
- if (chance == 5) {
- array4 = outputArray[3];
- console.log("array4 = " + array4);
- }
- if (chance == 6) {
- array5 = outputArray[4];
- console.log("array5 =" + array5);
- }
- if (chance == 7) {
- array6 = outputArray[5];
- console.log("array6 =" + array6);
- }
- if (chance == 8) {
- array7 = outputArray[6];
- console.log("array7 =" + array7);
- }
- if (chance == 9) {
- array8 = outputArray[7];
- console.log("array8 =" + array8);
- }
- if (chance == 10) {
- array9 = outputArray[8];
- console.log("array9 = " + array9);
- }
- isHorizontalWinningCombination();
- isVerticalWinningCombination();
- isDiagonalWinningCombination();
- isTie();
- }
- function isHorizontalWinningCombination() {
- for (var row = 0; row < 3; row++) {
- cell1 = horizontalWinningCombinations[row][0];
- cell2 = horizontalWinningCombinations[row][1];
- cell3 = horizontalWinningCombinations[row][2];
- combinations(cell1, cell2, cell3);
- }
- }
- function isVerticalWinningCombination() {
- for (var row = 0; row < 3; row++) {
- cell1 = verticalWinningCombinations[row][0];
- cell2 = verticalWinningCombinations[row][1];
- cell3 = verticalWinningCombinations[row][2];
- combinations(cell1, cell2, cell3);
- }
- }
- function isDiagonalWinningCombination() {
- for (var row = 0; row < 2; row++) {
- cell1 = diagonalWinningCombinations[row][0];
- cell2 = diagonalWinningCombinations[row][1];
- cell3 = diagonalWinningCombinations[row][2];
- combinations(cell1, cell2, cell3);
- }
- }
- function isTie() {
- tie--;
- if (tie <= 1) {
- console.log("Its a tie. Game Over !");
- checkTie = true;
- alert("Its a Tie. Game Over !")
- return;
- }
- }
- function combinations(cell1, cell2, cell3) {
- if (((array1 == cell1 || array1 == cell2 || array1 == cell3) && (array3 == cell1
- || array3 == cell2 || array3 == cell3) && (array5 == cell1 || array5 == cell2
- || array5 == cell3))) {
- player1IsWinner();
- return;
- }
- if ((array1 == cell1 || array1 == cell2 || array1 == cell3) && (array3 == cell1
- || array3 == cell2 || array3 == cell3) && (array7 == cell1
- || array7 == cell2 || array7 == cell3)) {
- player1IsWinner();
- return;
- }
- if ((array1 == cell1 || array1 == cell2 || array1 == cell3) && (array3 == cell1
- || array3 == cell2 || array3 == cell3) && (array9 == cell1
- || array9 == cell2 || array9 == cell3)) {
- player1IsWinner();
- return;
- }
- if ((array1 == cell1 || array1 == cell2 || array1 == cell3) && (array5 == cell1
- || array5 == cell2 || array5 == cell3) && (array7 == cell1 || array7 == cell2
- || array7 == cell3)) {
- player1IsWinner();
- return;
- }
- if ((array1 == cell1 || array1 == cell2 || array1 == cell3) && (array5 == cell1
- || array5 == cell2 || array5 == cell3) && (array9 == cell1 || array9 == cell2
- || array9 == cell3)) {
- player1IsWinner();
- return;
- }
- if ((array5 == cell1 || array5 == cell2 || array5 == cell3) && (array3 == cell1
- || array3 == cell2 || array3 == cell3) && (array7 == cell1 || array7 == cell2
- || array7 == cell3)) {
- player1IsWinner();
- return;
- }
- if ((array5 == cell1 || array5 == cell2 || array5 == cell3) && (array3 == cell1
- || array3 == cell2 || array3 == cell3) && (array9 == cell1 || array9 == cell2
- || array9 == cell3)) {
- player1IsWinner();
- return;
- }
- if ((array5 == cell1 || array5 == cell2 || array5 == cell3) && (array7 == cell1
- || array7 == cell2 || array7 == cell3) &&
- (array9 == cell1 || array9 == cell2 || array9 == cell3)) {
- player1IsWinner();
- return;
- }
- if ((array1 == cell1 || array1 == cell2 || array1 == cell3) && (array7 == cell1
- || array7 == cell2 || array7 == cell3) && (array9 == cell1 || array9 == cell2
- || array9 == cell3)) {
- player1IsWinner();
- return;
- }
- if ((array7 == cell1 || array7 == cell2 || array7 == cell3) && (array3 == cell1
- || array3 == cell2 || array3 == cell3) && (array9 == cell1 || array9 == cell2
- || array9 == cell3)) {
- player1IsWinner();
- return;
- }
- if ((array2 == cell1 || array2 == cell2 || array2 == cell3) && (array4 == cell1
- || array4 == cell2 || array4 == cell3) && (array6 == cell1 || array6 == cell2
- || array6 == cell3)) {
- player2IsWinner();
- return;
- }
- if ((array2 == cell1 || array2 == cell2 || array2 == cell3) && (array4 == cell1
- || array4 == cell2 || array4 == cell3) && (array8 == cell1 || array8 == cell2
- || array8 == cell3)) {
- player2IsWinner();
- return;
- }
- if ((array2 == cell1 || array2 == cell2 || array2 == cell3) && (array8 == cell1
- || array8 == cell2 || array8 == cell3) && (array6 == cell1 || array6 == cell2
- || array6 == cell3)) {
- player2IsWinner();
- return;
- }
- if ((array8 == cell1 || array8 == cell2 || array8 == cell3) && (array4 == cell1
- || array4 == cell2 || array4 == cell3) &&
- (array6 == cell1 || array6 == cell2 || array6 == cell3)) {
- player2IsWinner();
- return;
- }
- }
- function player1IsWinner() {
- console.log("Player 1 is the Winner");
- alert("Player 1 wins !!")
- isWinner = true;
- }
- function player2IsWinner() {
- console.log("Player 2 is the Winner");
- alert("Player 2 wins!!");
- isWinner = true;
- }
- function reset() {
- $('#reset').on("click",function() {
- buttonAttribute();
- chance=1;
- isWinner=false;
- checkTie=false;
- outputArray=[];
- });
- }
- function buttonAttribute(){
- buttonKey.innerHTML = " + ";
- buttonKey.style.backgroundColor = "#C0C0C0";
- }
- }
- </script>
- </body>
- </html>
Add Comment
Please, Sign In to add comment