-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
46 lines (38 loc) · 1.39 KB
/
script.js
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
let currentPlayer = 'X';
let gameBoard = ['', '', '', '', '', '', '', '', ''];
let gameActive = true;
function handleClick(index) {
if (!gameActive || gameBoard[index] !== '') return;
gameBoard[index] = currentPlayer;
document.getElementById('board').children[index].innerText = currentPlayer;
if (checkWinner()) {
document.getElementById('message').innerText = `Player ${currentPlayer} wins!`;
gameActive = false;
} else if (gameBoard.every(cell => cell !== '')) {
document.getElementById('message').innerText = 'It\'s a tie!';
gameActive = false;
} else {
currentPlayer = currentPlayer === 'X' ? 'O' : 'X';
document.getElementById('message').innerText = `Player ${currentPlayer} playing`;
}
}
function checkWinner() {
const winPatterns = [
[0, 1, 2], [3, 4, 5], [6, 7, 8],
[0, 3, 6], [1, 4, 7], [2, 5, 8],
[0, 4, 8], [2, 4, 6]
];
return winPatterns.some(pattern =>
pattern.every(index => gameBoard[index] === currentPlayer)
);
}
function resetGame() {
currentPlayer = 'X';
gameBoard = ['', '', '', '', '', '', '', '', ''];
gameActive = true;
document.getElementById('message').innerText = 'Player X\'s turn';
const cells = document.getElementById('board').children;
for (let i = 0; i < cells.length; i++) {
cells[i].innerText = '';
}
}