-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
73 lines (73 loc) · 2.41 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
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
"use strict";
const area = document.querySelector('.area'),
sector = document.querySelectorAll('.sector'),
step = document.querySelector('.step'),
stepNow = document.querySelector('.step__now'),
box = document.querySelector('.win__block'),
reloadGame = document.querySelector('.reload');
let x,
counter = 0,
player = "o",
all = 0;
function doBlue(obj){
obj.style.color = "rgba(49, 245, 219, 0.87)";
}
function handleClick(player, counter, target, stepNow, step){
if(counter%2 === 1){
player = "x";
step.innerHTML = `Сейчас ходит:<span class="step__now">${"o"}</span>`;
}else{
player = "o";
step.innerHTML = `Сейчас ходит:<span class="step__now">${"x"}</span>`;
}
target.innerHTML = player;
target.removeEventListener("click", handleClick);
win(sector, player, x, area, stepNow, step, box);
}
function win (sector, player, x, area, stepNow, step, box){
const victory = [
[0,1,2],
[3,4,5],
[6,7,8],
[0,3,6],
[1,4,7],
[2,5,8],
[0,4,8],
[2,4,6],
];
victory.forEach(item =>{
if(sector[item[0]].innerHTML == sector[item[1]].innerHTML && sector[item[1]].innerHTML == sector[item[2]].innerHTML && sector[item[0]].innerHTML != ""){
box.innerHTML = `Выйграл: ${player}`;
doBlue(sector[item[0]]);
doBlue(sector[item[1]]);
doBlue(sector[item[2]]);
doBlue(document.querySelector('.win'));
area.removeEventListener('click', x);
step.innerHTML = "";
stepNow.innerHTML = "";
}
});
}
area.addEventListener('click', x = (e)=>{
if(e.target.innerHTML == 'x' || e.target.innerHTML == "o"){
return;
}else{
e.target.addEventListener('click', handleClick(player, counter, e.target, stepNow, step), [true]);
counter = counter + 1;
all = all + 1;
}
win(sector, player, x, area, stepNow, step, box);
sector.forEach(unit =>{
console.log(all);
if((unit.innerHTML == 'x' || unit.innerHTML == 'o') && all >= 9){
doBlue(unit);
step.innerHTML = "";
stepNow.innerHTML = "";
box.innerHTML = `Ничья!`;
win(sector, player, x, area, stepNow, step, box);
}
});
});
reloadGame.addEventListener('click', ()=>{
window.location.reload();
})