-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
120 lines (96 loc) · 2.83 KB
/
main.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
const botonEmpezar = document.querySelector("button[type=button]");
const cuadros = document.querySelectorAll(".cuadro");
const barraTurnos = document.querySelector("#turnos");
const ronda = document.querySelector("#ronda");
let numRonda = 0;
let cuadrosMaquina = [];
let cuadrosJugador = [];
botonEmpezar.onclick = empezarJuego;
function empezarJuego(){
resetearTodo();
jugar();
}
function resetearTodo (){
cuadrosMaquina = [];
//cuadrosUsuario = [];
numRonda = 0;
actualizarBarra (`Tocá "Empezar" para comenzar el juego!`);
}
function jugar (){
actualizarRonda();
//Turno compu
actualizarBarra (`Turno de la compu`);
bloquearJugador();
const nuevoCuadroAleatorio = obtenerCuadroAleatorio();
cuadrosMaquina.push(nuevoCuadroAleatorio);
cuadrosMaquina.forEach(function (cuadro,indice){
const retrasoMaqResaltar = (indice + 1) * 1000;
setTimeout(function(){
resaltarCuadro(cuadro);
},retrasoMaqResaltar);
});
//Turno jugador
const retrasoTurnoJugador = (cuadrosMaquina.length + 1) * 1000;
setTimeout(function(){
actualizarBarra(`Turno del jugador`);
desbloquearJugador();
},retrasoTurnoJugador);
cuadrosJugador = [];
numRonda++;
actualizarRonda(numRonda);
}
function obtenerCuadroAleatorio(){
const randomNum = Math.floor(Math.random()*cuadros.length);
return cuadros[randomNum];
}
function resaltarCuadro (cuadro){
cuadro.style.opacity = 1;
setTimeout(function(){
cuadro.style.opacity = 0.5;
},500);
}
function actualizarRonda(){
ronda.innerText = numRonda;
}
function actualizarBarra(texto, error = false){
barraTurnos.innerText = texto;
if (error){
barraTurnos.classList.remove("alert-dark");
barraTurnos.classList.add("alert-danger");
}
else {
barraTurnos.classList.remove("alert-danger");
barraTurnos.classList.add("alert-dark");
}
}
function bloquearJugador (){
cuadros.forEach(function (cuadro){
cuadro.style.cursor = "default";
cuadro.onclick = function (){
};
});
}
function desbloquearJugador (){
//aca quede. aca esta la magia del jugador.
cuadros.forEach (function (cuadro){
cuadro.style.cursor = "pointer";
cuadro.onclick = manejarSeleccionUsuario;
});
}
function manejarSeleccionUsuario (e) {
const cuadro = e.target;
resaltarCuadro(cuadro);
cuadrosJugador.push(cuadro);
if (cuadro !== cuadrosMaquina[cuadrosJugador.length-1]){
perder();
return;
}
if (cuadrosJugador.length === cuadrosMaquina.length){
bloquearJugador();
setTimeout(jugar,1000);
}
}
function perder (){
bloquearJugador();
actualizarBarra (`Ups! Perdiste. Tocá "Empezar" para comenzar a jugar de nuevo.`,true);
}