Skip to content

Commit

Permalink
Update script.js
Browse files Browse the repository at this point in the history
  • Loading branch information
Maurux01 authored Jan 12, 2025
1 parent 4778372 commit cad10d0
Showing 1 changed file with 42 additions and 30 deletions.
72 changes: 42 additions & 30 deletions script.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const timer = document.getElementById("timer");
const score = document.getElementById("score");
const startButton = document.getElementById("start-button");
const languageButton = document.getElementById("language-button");
const pauseButton = document.getElementById("pause-button"); // Botón de pausa
const pauseButton = document.getElementById("pause-button");
const feedback = document.createElement("p");

// Inserta el feedback en el DOM
Expand All @@ -22,7 +22,7 @@ let words = []; // Lista de palabras actual (cargada dinámicamente)

// Función para cargar palabras según el idioma
async function loadWords(language) {
const filePath = language === "es" ? "assets/spanish_words.txt" : "assets/english_words.txt"; // Ruta ajustada
const filePath = language === "es" ? "assets/spanish_words.txt" : "assets/english_words.txt";
try {
const response = await fetch(filePath);
if (response.ok) {
Expand All @@ -39,9 +39,11 @@ async function loadWords(language) {
// Inicia el juego
function startGame() {
if (words.length === 0) {
alert(currentLanguage === "es"
? "No se pudieron cargar las palabras. Por favor, verifica los archivos."
: "Words could not be loaded. Please check the files.");
alert(
currentLanguage === "es"
? "No se pudieron cargar las palabras. Por favor, verifica los archivos."
: "Words could not be loaded. Please check the files."
);
return;
}
resetGame();
Expand All @@ -52,21 +54,23 @@ function startGame() {

// Actualiza el temporizador
function updateTimer() {
if (!paused) { // Solo actualiza si no está pausado
if (!paused) {
time++;
timer.textContent = currentLanguage === "es"
? `Tiempo: ${time} segundos`
: `Time: ${time} seconds`;
timer.textContent =
currentLanguage === "es"
? `Tiempo: ${time} segundos`
: `Time: ${time} seconds`;
}
}

// Valida la entrada del usuario
function checkInput() {
if (inputBox.value === currentWord) {
points++;
score.textContent = currentLanguage === "es"
? `Puntuación: ${points}`
: `Score: ${points}`;
score.textContent =
currentLanguage === "es"
? `Puntuación: ${points}`
: `Score: ${points}`;
feedback.textContent = currentLanguage === "es" ? "¡Correcto!" : "Correct!";
feedback.style.color = "#4caf50";
feedback.style.visibility = "visible";
Expand All @@ -75,11 +79,12 @@ function checkInput() {
currentWord = getRandomWord();
textToType.textContent = currentWord;
inputBox.value = "";
setTimeout(() => feedback.style.visibility = "hidden", 1000);
setTimeout(() => (feedback.style.visibility = "hidden"), 1000);
} else if (!currentWord.startsWith(inputBox.value)) {
feedback.textContent = currentLanguage === "es"
? `Incorrecto: ¡la palabra es "${currentWord}"!`
: `Incorrect: the word is "${currentWord}"!`;
feedback.textContent =
currentLanguage === "es"
? `Incorrecto: ¡la palabra es "${currentWord}"!`
: `Incorrect: the word is "${currentWord}"!`;
feedback.style.color = "#ff5252";
feedback.style.visibility = "visible";
inputBox.classList.add("wrong");
Expand All @@ -93,14 +98,16 @@ function checkInput() {
function resetGame() {
time = 0;
points = 0;
timer.textContent = currentLanguage === "es" ? "Tiempo: 0 segundos" : "Time: 0 seconds";
score.textContent = currentLanguage === "es" ? "Puntuación: 0" : "Score: 0";
timer.textContent =
currentLanguage === "es" ? "Tiempo: 0 segundos" : "Time: 0 seconds";
score.textContent =
currentLanguage === "es" ? "Puntuación: 0" : "Score: 0";
inputBox.value = "";
inputBox.classList.remove("wrong", "correct");
feedback.style.visibility = "hidden";
paused = false; // Asegúrate de que no esté pausado al reiniciar
pauseButton.textContent = "Pausar"; // Cambia el texto del botón
clearInterval(interval); // Detén cualquier intervalo anterior
paused = false;
pauseButton.textContent = currentLanguage === "es" ? "Pausar" : "Pause";
clearInterval(interval);
}

// Genera una palabra aleatoria
Expand All @@ -112,30 +119,35 @@ function getRandomWord() {
async function toggleLanguage() {
currentLanguage = currentLanguage === "es" ? "en" : "es";
await loadWords(currentLanguage);
languageButton.textContent = currentLanguage === "es" ? "Cambiar a Inglés" : "Switch to Spanish";
startButton.textContent = currentLanguage === "es" ? "Iniciar Juego" : "Start Game";
inputBox.placeholder = currentLanguage === "es" ? "Escribe aquí..." : "Type here...";
languageButton.textContent =
currentLanguage === "es" ? "Cambiar a Inglés" : "Switch to Spanish";
startButton.textContent =
currentLanguage === "es" ? "Iniciar Juego" : "Start Game";
inputBox.placeholder =
currentLanguage === "es" ? "Escribe aquí..." : "Type here...";
resetGame();
}

// Función para pausar o reanudar el temporizador
// Pausa o reanuda el juego
function togglePause() {
if (paused) {
paused = false;
interval = setInterval(updateTimer, 1000); // Reinicia el temporizador
pauseButton.textContent = "Pausar"; // Cambia el texto del botón a "Pausar"
interval = setInterval(updateTimer, 1000);
pauseButton.textContent =
currentLanguage === "es" ? "Pausar" : "Pause";
} else {
paused = true;
clearInterval(interval); // Detiene el temporizador
pauseButton.textContent = "Reanudar"; // Cambia el texto del botón a "Reanudar"
clearInterval(interval);
pauseButton.textContent =
currentLanguage === "es" ? "Reanudar" : "Resume";
}
}

// Eventos
startButton.addEventListener("click", startGame);
inputBox.addEventListener("input", checkInput);
languageButton.addEventListener("click", toggleLanguage);
pauseButton.addEventListener("click", togglePause); // Agrega evento de pausa
pauseButton.addEventListener("click", togglePause);

// Carga inicial de palabras
loadWords(currentLanguage);

0 comments on commit cad10d0

Please sign in to comment.