-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvitoria.js
135 lines (112 loc) · 4.24 KB
/
vitoria.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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
const condicaohorizontal = () => {
let resultado = false
for (let linha = tabuleiro.length -1; linha >= 0; linha --){
for (let coluna = 0; coluna < tabuleiro[linha].length; coluna ++){
if ( tabuleiro[linha][coluna] === jogador
&& tabuleiro[linha][coluna + 1] === jogador
&& tabuleiro[linha][coluna + 2] === jogador
&& tabuleiro[linha][coluna + 3] === jogador
){ resultado = true
console.log(resultado + ' nova horizontal')
}
}
}
return resultado
}
const condicaovertical = () => {
let resultado = false
for (let linha = tabuleiro.length-1 ; linha >= 0; linha--){
for (let coluna = 0; coluna < tabuleiro[linha].length; coluna ++){
if ( tabuleiro[linha][coluna] === jogador
&& tabuleiro[linha - 1][coluna] === jogador
&& tabuleiro[linha - 2][coluna] === jogador
&& tabuleiro[linha - 3][coluna] === jogador
) {
resultado = true
console.log(resultado +' nova vertical')
}
}
}
return resultado
}
const diagonalpradireita = () => {
let resultado = false
for (let linha = tabuleiro.length -1; linha >= 0; linha --){
for (let coluna = 0; coluna < tabuleiro[linha].length; coluna ++){
if ( tabuleiro[linha][coluna] === jogador
&& tabuleiro[linha - 1][coluna + 1] === jogador
&& tabuleiro[linha - 2][coluna + 2] === jogador
&& tabuleiro[linha - 3][coluna + 3] === jogador
) {
resultado = true
console.log(resultado +' nova diagonal direita')
}
}
}
return resultado
}
const diagonalpraesquerda = () => {
let resultado = false
for (let linha = tabuleiro.length -1; linha >= 0; linha --) {
for (let coluna = tabuleiro[linha].length -1; coluna >= 0; coluna --) {
if ( tabuleiro[linha][coluna] === jogador
&& tabuleiro[linha - 1][coluna - 1] === jogador
&& tabuleiro[linha - 2][coluna - 2] === jogador
&& tabuleiro[linha - 3][coluna - 3] === jogador
) {
resultado = true
console.log(resultado +' nova diagonal esquerda')
}
}
}
return resultado
}
const novavitoria = () => {
if(condicaohorizontal()){return true}
else if(condicaovertical()){return true}
else if(diagonalpradireita()){return true}
else if(diagonalpraesquerda()){return true}
}
function deuEmpate() {
let empate = false
let espacosCheios = 0
for (let linha = tabuleiro.length -1; linha > 0; linha --) {
for (let coluna = tabuleiro[linha].length -1; coluna >= 0; coluna --) {
if(tabuleiro[linha][coluna] !== " "){
espacosCheios ++
}
}
}
if(espacosCheios === (tabuleiro.length -1) * tabuleiro[0 + 1].length) {
empate = true
}
return empate
}
function criaTelaFinal() {
let vitoria = novavitoria()
let deuempate = deuEmpate()
let div = document.querySelector(".tela-resultado")
let botaoJogaNovamente = document.getElementById("botao-reset")
if(vitoria === true){
//cria tela vitoria
div.firstElementChild.classList.remove("hidden")
div.firstElementChild.innerText = `Você venceu!!`
div.firstElementChild.appendChild(criaDisco(jogador))
div.classList.remove("hidden")
botaoJogaNovamente.classList.add("botaoJogarNovamente")
botaoJogaNovamente.classList.remove("botao-reset")
return div
}
if(deuempate === true){
//cria tela empate
div.lastElementChild.classList.remove("hidden")
div.classList.remove("hidden")
div.lastElementChild.innerText = `Empate!!`
div.lastElementChild.appendChild(criaDisco(jogador))
trocaJogador()
div.lastElementChild.appendChild(criaDisco(jogador))
botaoJogaNovamente.classList.add("botaoJogarNovamente")
botaoJogaNovamente.classList.remove("botao-reset")
return div
}
}