-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
57 lines (51 loc) · 1.45 KB
/
index.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
let turn="X"
let gameover=false;
//function to change the turn
const changeturn=()=>{
return turn === "X"?"0":"X"
}
//function to check for a win
const checkwin=()=>{
let boxtext=document.getElementsByClassName('box-text');
let wins=[
[0,1,2],
[3,4,5],
[6,7,8],
[0,3,6],
[1,4,7],
[2,5,8],
[0,4,8],
[2,4,6],
]
wins.forEach(e=>{
if((boxtext[e[0]].innerText===boxtext[e[1]].innerText)&&(boxtext[e[2]].innerText===boxtext[e[1]].innerText)&&(boxtext[e[0]].innerText!=="")){
document.querySelector('.info').innerText=boxtext[e[0]].innerText+ " won"
gameover=true;
}
})
}
//game logic
let boxes=document.getElementsByClassName("box");
Array.from(boxes).forEach(element=>{
let boxtext=element.querySelector('.box-text')
element.addEventListener('click',()=>{
if(boxtext.innerText===''){
boxtext.innerText=turn;
turn = changeturn();
checkwin();
if(!gameover){
document.getElementsByClassName("info")[0].innerText="Turn for "+turn;
}
}
})
})
//add onclick listener for reset
reset.addEventListener('click',(e)=>{
let boxtexts= document.querySelectorAll('.box-text')
Array.from(boxtexts).forEach(element=>{
element.innerText=""
})
turn="X"
gameover=false;
document.getElementsByClassName("info")[0].innerText="Turn for "+turn;
})