No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Última oportunidad para asegurar tu aprendizaje por 1 año a precio especial

Antes: $249

Currency
$189/año

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

0D
7H
21M
42S

Finalización del Proyecto PlatziWordle

14/36
Recursos

Aportes 4

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Avanzamos aquí unos últimos detalles de PlatziWordle.

En esta clase ya hemos integrado el observador deleteLetter (o removeLetter) enfocado a eliminar la última letra de la palabra cuando el usuario presiona la tecla Borrar.

🔗 Puedes ver el código de ese observador aquí.

Otros cambios que realizamos:

  • Agregar una caja de mensajes al usuario.
  • Expandir las funciones del observador checkWord agregando colores de fondo para las letras de una palabra (gris, verde y amarillo).

Hola comunidad, estuve haciendo el proyecto a la par con el profesor. Pero estuve aplicando lo aprendido en los cursos de Ts, ello incluye POO. Así que si quieren darle un vistazo aquí está el repositorio.
Posdata: tiene errores al momento de perder, ganar o reiniciar el wordle. Ya que aún no he visto como se manejan los errores por desuscribir un observable.

https://proyecto-rxjs.web.app/
Dejo el link del proyecto hecho por mí, pueden usarlo desde el celular también. Gracias.

Mi función de checkWord:

// Posterior a validar la tecla enter
messageText.textContent = ''

// Informar las letras que faltan
if (userAnswers.length !== 5) {
	messageText.textContent = `¡Hacen falta ${5 - userAnswers.length} letras!`
	return;
}

// Si la respuesta es correcta, usar el Subject (no requiere iterar)
if(userAnswers.join('') === correctWord) {
	userWinOrLoose$.next();
	return;
}

// Si la respuesta no es correcta, verificar cada letra
const letterBox = [...letterRows[letterRowIndex].children]
userAnswers.forEach((value, index) => {
	const letterStatus = correctWord.indexOf(value)
	letterBox[index].classList.add(
`letter-${ ( letterStatus === -1 ? 'grey' : ( index === letterStatus ? 'green' : 'yellow') ) }`
	)
})

letterRowIndex++;
userAnswers = [];
letterColumnIndex = 0;

Queda una parte pendiente, los duplicados, en palabras como GALAS, marca la 2da A como amarillo aunque esté en la posición correcta porque IndexOf devuelve el Index de la primera coincidencia, aún no lo resuelvo.