-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
146 lines (124 loc) · 6.02 KB
/
script.js
File metadata and controls
146 lines (124 loc) · 6.02 KB
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
136
137
138
139
140
141
142
143
144
145
146
// Axel Cotón Gutiérrez Copyright 2023
// Cargar archivos de audio para la pregunta, las figuras, felicitaciones e inténtalo de nuevo
const audioPregunta = new Audio('https://raw.githubusercontent.com/AxelCotonGutierrez/Juego-Figuras-Planas1/master/audio/Pregunta.mp3');
const audioTriangulo = new Audio('https://raw.githubusercontent.com/AxelCotonGutierrez/Juego-Figuras-Planas1/master/audio/Triangulo.mp3');
const audioCuadrado = new Audio('https://raw.githubusercontent.com/AxelCotonGutierrez/Juego-Figuras-Planas1/master/audio/Cuadrado.mp3');
const audioCirculo = new Audio('https://raw.githubusercontent.com/AxelCotonGutierrez/Juego-Figuras-Planas1/master/audio/Circulo.mp3');
const felicidadesAudio = new Audio('https://raw.githubusercontent.com/AxelCotonGutierrez/Juego-Figuras-Planas1/master/audio/Felicidades.mp3');
const intentarAudio = new Audio('https://raw.githubusercontent.com/AxelCotonGutierrez/Juego-Figuras-Planas1/master/audio/Intentar.mp3');
document.addEventListener('DOMContentLoaded', iniciarJuego);
let ultimaFigura = '';
let gameOver = false; // Variable para controlar el estado del juego
function iniciarJuego() {
gameOver = false; // Reiniciar el estado del juego
enableGuessButtons(); // Habilitar botones de respuesta
document.getElementById('result').textContent = '';
document.getElementById('reiniciar').style.display = 'none';
mostrarFiguraAleatoria();
}
function mostrarFiguraAleatoria() {
const figuras = ['Triángulo', 'Cuadrado', 'Círculo'];
let figurasDisponibles;
// Si no es la primera ronda, eliminar la última figura de las opciones
if (ultimaFigura) {
figurasDisponibles = figuras.filter(figura => figura !== ultimaFigura);
} else {
figurasDisponibles = figuras.slice();
}
const figuraElegida = figurasDisponibles[Math.floor(Math.random() * figurasDisponibles.length)];
const contenedorFigura = document.getElementById('figura');
contenedorFigura.className = ''; // Limpiar clases anteriores
contenedorFigura.style = ''; // Limpiar estilos anteriores
// Configuración de las figuras
switch (figuraElegida) {
case 'Triángulo':
contenedorFigura.style.borderLeft = `75px solid transparent`;
contenedorFigura.style.borderRight = `75px solid transparent`;
contenedorFigura.style.borderBottom = `150px solid black`;
contenedorFigura.style.width = '0';
contenedorFigura.style.height = '0';
break;
case 'Cuadrado':
contenedorFigura.style.backgroundColor = 'blue';
contenedorFigura.style.width = '150px';
contenedorFigura.style.height = '150px';
contenedorFigura.style.border = '5px solid black';
break;
case 'Círculo':
contenedorFigura.style.backgroundColor = 'red';
contenedorFigura.style.borderRadius = '50%';
contenedorFigura.style.width = '150px';
contenedorFigura.style.height = '150px';
contenedorFigura.style.border = '5px solid black';
break;
}
contenedorFigura.setAttribute('data-figura', figuraElegida);
ultimaFigura = figuraElegida; // Actualizar la última figura seleccionada
}
function verificarRespuesta(respuesta) {
if (gameOver) return; // Si el juego ha terminado, no se permiten más respuestas
const figuraCorrecta = document.getElementById('figura').getAttribute('data-figura');
const result = document.getElementById('result');
if (respuesta === figuraCorrecta) {
result.textContent = '¡Correcto! Felicitaciones.';
result.style.color = "green";
playAudio(felicidadesAudio); // Reproducir audio de felicitaciones
gameOver = true; // Marcar el juego como terminado
incrementarContadorFirebase("Infantil/Matemáticas/Geometría/FormasBásicas", "figurasgeometricas1");
disableGuessButtons(); // Deshabilitar los botones de respuesta
} else {
result.textContent = `Incorrecto. La respuesta correcta era ${figuraCorrecta}.`;
result.style.color = "red";
playAudio(intentarAudio); // Reproducir audio de inténtalo de nuevo
gameOver = true; // Marcar el juego como terminado
incrementarContadorFirebase("Infantil/Matemáticas/Geometría/FormasBásicas", "figurasgeometricas1");
disableGuessButtons(); // Deshabilitar los botones de respuesta
}
document.getElementById('reiniciar').style.display = 'block';
}
// Función para deshabilitar solo los botones de respuesta
function disableGuessButtons() {
const guessButtons = document.querySelectorAll(".guess-button:not(#reiniciar)");
guessButtons.forEach(button => {
button.disabled = true;
});
}
// Función para habilitar los botones de respuesta
function enableGuessButtons() {
const guessButtons = document.querySelectorAll(".guess-button:not(#reiniciar)");
guessButtons.forEach(button => {
button.disabled = false;
});
}
// Función para reproducir el sonido de la pregunta
function playAudioPregunta() {
playAudio(audioPregunta);
}
// Función para reproducir el sonido correspondiente al icono de megáfono seleccionado
function playAudioFigura(figura) {
let audioElement;
switch (figura) {
case 'Triángulo':
audioElement = audioTriangulo;
break;
case 'Cuadrado':
audioElement = audioCuadrado;
break;
case 'Círculo':
audioElement = audioCirculo;
break;
}
playAudio(audioElement);
}
// Función para reproducir audios si el sonido está activado
function playAudio(audioElement) {
if (document.getElementById('sound-control').checked) {
audioElement.play().then(() => {
console.log('Audio reproducido correctamente');
}).catch(error => {
console.error('Error al reproducir el audio:', error);
});
}
}
// Llamar a la función para mostrar el contador al cargar la página
mostrarContador("Infantil/Matemáticas/Geometría/FormasBásicas", "figurasgeometricas1");