This repository was archived by the owner on Nov 19, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathapp.js
107 lines (84 loc) · 3.08 KB
/
app.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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
const blocks = document.getElementsByClassName('block')
const turn = document.getElementById('turn')
const winner = document.getElementById('winner')
const restart = document.getElementById('restart')
const click_block = function(event) {
event.preventDefault()
if (this.textContent !== '') {
return
}
this.textContent = get_sign()
if (check_winner() === 1){
winner.textContent = "Player 1"
restart.attributes.removeNamedItem("hidden")
}else if (check_winner() === 2){
winner.textContent = "Player2"
restart.attributes.removeNamedItem("hidden")
}
}
const get_turn = function() {
if (turn.textContent === "Player 1: X"){
turn.textContent = "Player 2: O"
return 1
}
turn.textContent = "Player 1: X"
return 0
}
const get_sign = function() {
playerToPlay = get_turn()
if (playerToPlay === 1){
return 'X'
}
return 'O'
}
const check_winner = function() {
if (blocks[0].textContent === blocks[3].textContent && blocks[3].textContent === blocks[6].textContent && blocks[6].textContent !== ''){
if (blocks[3].textContent === 'X'){
return 1
}
return 2
}else if (blocks[1].textContent === blocks[4].textContent && blocks[4].textContent === blocks[7].textContent && blocks[7].textContent !== ''){
if (blocks[4].textContent === 'X'){
return 1
}
return 2
}else if (blocks[2].textContent === blocks[5].textContent && blocks[5].textContent === blocks[8].textContent && blocks[8].textContent !== ''){
if (blocks[5].textContent === 'X'){
return 1
}
return 2
}else if (blocks[0].textContent === blocks[1].textContent && blocks[1].textContent === blocks[2].textContent && blocks[2].textContent !== ''){
if (blocks[1].textContent === 'X'){
return 1
}
return 2
}else if (blocks[3].textContent === blocks[4].textContent && blocks[4].textContent === blocks[5].textContent && blocks[5].textContent !== ''){
if (blocks[4].textContent === 'X'){
return 1
}
return 2
}else if (blocks[6].textContent === blocks[7].textContent && blocks[7].textContent === blocks[8].textContent && blocks[8].textContent !== ''){
if (blocks[7].textContent === 'X'){
return 1
}
return 2
}else if (blocks[0].textContent === blocks[4].textContent && blocks[4].textContent === blocks[8].textContent && blocks[8].textContent !== ''){
if (blocks[4].textContent === 'X'){
return 1
}
return 2
}else if (blocks[2].textContent === blocks[4].textContent && blocks[4].textContent === blocks[6].textContent && blocks[6].textContent !== ''){
if (blocks[4].textContent === 'X'){
return 1
}
return 2
}
return false
}
const restart_game = function() {
location.reload()
}
for (let index = 0; index < blocks.length; index++) {
blocks[index].addEventListener('click', click_block)
}
restart.addEventListener('click', restart_game)