-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
77 lines (68 loc) · 1.71 KB
/
script.js
File metadata and controls
77 lines (68 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
let currentPlayer = "Ravi";
let cells = document.querySelectorAll(".cell");
let count = 0;
//time taken
var time = 0;
var timer = setInterval(function () {
time++;
document.getElementById("time").innerHTML = time + " Seconds";
}, 1000);
function placeSymbol(index) {
if (!cells[index].textContent) {
count++;
document.getElementById("boxes").innerHTML =
"Boxes Remaning :" + (9 - count);
var claping = new Audio("claps.mp3");
claping.play();
cells[index].textContent = currentPlayer === "Ravi" ? "❤️" : "➡️";
if (checkWin()) {
alert("Congratulations " + currentPlayer + "😎😎😎 you win the game");
var audio = new Audio("ipl.mp3");
audio.play();
setTimeout(() => {
resetGame();
}, 2000);
} else if (isBoardFull()) {
var audio = new Audio("aipaye.mp3");
audio.play();
alert("Hoo! Game is Tie😔😔😔. Play Again in two seconds");
setTimeout(() => {
resetGame();
}, 2000);
} else {
currentPlayer = currentPlayer === "Ravi" ? "Jay" : "Ravi";
}
}
}
function resetGame() {
cells.forEach((cell) => {
cell.textContent = "";
});
currentPlayer = "Ravi";
}
function checkWin() {
const winningCombos = [
[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 (let combo of winningCombos) {
const [a, b, c] = combo;
if (
cells[a].textContent &&
cells[a].textContent === cells[b].textContent &&
cells[a].textContent === cells[c].textContent
) {
return true;
}
}
return false;
}
function isBoardFull() {
return [...cells].every((cell) => cell.textContent !== "");
}