-
Notifications
You must be signed in to change notification settings - Fork 0
/
funciones.js
124 lines (109 loc) · 3.81 KB
/
funciones.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
// creo el arreglo con las palabras
let palabras = Array("AHORCADO", "CASA", "PALABRA", "JUEGO", "MURCIELAGO", "MAYUSCULA",
"PALETA", "CUERPO", "PALA", "NOMBRE", "CANCION", "CIELO");
//cadenas vacias
let letra;
let palabraOculta = "";
let palabraAdivinada = "";
let intentos = 9;// remplaza al dibujo
let letrasRepetidas = [];
let letrasErradas = [];
//------------------- AGRGAR PALABRAS ------------------------
function agregarPalabra(palabras){
let nuevaPalabra = document.getElementById("input-nueva-palabra").value;
palabras.push(nuevaPalabra);
//console.log(palabras);
}
//----------------------------- INICIO ---------------------------------------------------
//activada por el BOTON INICIAR JUEGO, y coloca los guiones
function guionesDePalabra(){
// elije la palabra
palabraOculta = palabras[Math.floor(Math.random() * palabras.length)].toUpperCase();
//console.log(palabraOculta);
for(let i=0; i < palabraOculta.length; i++){
// Los guiones que van a ser generados segun la palabra seleccionada aleatoria
palabraAdivinada = palabraAdivinada + "_ ";
}
// muestra los guiones
document.getElementById("frase-Adivinada").innerHTML = palabraAdivinada;
}
//------------------------------ Validacion del Solo Letras ----------------------------
//-----------aplica aleta solo al input, no al usar el teclado.---------------------
function soloLetras(e){
//eventos del teclado, propiedad whitch que detecta las teclas al momento de precionar
let key = e.keyCode || e.which;
let tecla = String.fromCharCode(key).toString();//deteccion del teclado
let letras = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyzü";
let especiales = [8,13];// teclas enter y retroceso
let teclaEspecial = false;
//para detectar tecla enter y retroceso
for(let i in especiales){
if(key == especiales[i]){
teclaEspecial = true;//enconto
break;
}
}
console.log(especiales);
console.log(teclaEspecial);
console.log(letra);
//si edentifica la tecla de retroceso,
if(letras.indexOf(tecla) == -1 && !teclaEspecial){
//alert("Igrese solo letras");
swal({title: "Igrese solo letras"});
return false;
}
}
console.log("letra final " + letra);
// Verifica y descarta las repatidas y guarda para mostrar las erradas ----------------
function mostrarLetrasErradas(letraIngresada){
letra = letraIngresada;
console.log(letra);
let agrego = false;
//si no esta incluida la agrego
if(!letrasErradas.includes(letra)){
letrasErradas.push(letra);
//muestro
errores.innerHTML = letrasErradas;
agrego = true;
}else{
//guardo las repetidas pero no las muestro
letrasRepetidas.push(letra);
//alert("Ya utilizo la " + letra);
swal({title: "La letra " + letra + " ya fue utlizada"});
}
return agrego;
}
//--------------- Dibujo del Ahorcado ---------------------------------------------------
function dibujarAhorcado(intentos){
let lienzo = document.querySelector("#dibujo-ahorcado");
if(lienzo.getContext){
lienzo.getContext("2d");
if(intentos <= 8){
dibujarMastil();
}
if(intentos <= 7){
dibujarTrasversoMastil();
}
if(intentos <= 6){
dibujarSoga();
}
if(intentos <= 5){
dibujarCabeza();
}
if(intentos <= 4){
dibujarCuerpo();
}
if(intentos <= 3){
dibujarBrazoDerecho();
}
if(intentos <= 2){
dibujarBrazoIzquierdo();
}
if(intentos <= 1){
dibujarPiernaDerecha();
}
if(intentos == 0){
dibujarPiernaIzquierda();
}
}
}