//Arreglo que contiene las palabras para jugar
let arrayPalabras =["TRISTEZA", "ENOJO", "AMOR", "FELICIDAD", "MIEDO", "ABURRIMIENTO", "ENTUSIASMO", "TRANQUILIDAD", "DESAGRADO", "GRATITUD", "AMISTAD", "TIMIDEZ", ];
//Arreglo que contiene las ayudas de cada palabra
let ayudas = [
    "Emocion negativa que atravesamos cuando nos sentimos mal",
    "Emocion negativa que aparece cuando las cosas no van cuando queremos",
    "Emocion positiva que sentimos por las personas que nos importan",
    "Emocion positiva que nos hace sentir alegres",
    "Sentimiento negativo que sentimos cuando puede pasar algo peligroso",
    "Emocion que te hace sentir inquieto y te hace buscar hacer algo diferente",
    "Emocion positiva que nos hace estar en un estado de animo y exaltacion",
    "Sentimiento que nos pone en un estado de calma y paz",
    "Sentimiento que nos hace sentir rechazo por algo o alguien.",
    "Sentimiento que nos hace sentir agradecidos por las cosas positivas de la vida",
    "Es un lazo afectivo que puede existir entre dos o más individuos",
    "Emocion negativa que afecta a una persona cuando esta con otros",
    
]
//Variable que guarda la cantidad de intentos restantes
let intentosRestantes = 5;

//variable que guarda la cantidad de palabras ya jugadas
let cantPalabrasJugadas = 0;

//variable de imagenes
let imagenes="imagenes/img22.jpg";
let imagen2="imagenes/img22.jpg";

//variable que guarda el indice de la Palabra actual
let posActual;
//arreglo que contiene la palabra actual con la que estoy jugando
let arrayPalabraActual = [];

//Cantidad de de letras acertadas por cada jugada
let cantidadAcertadas = 0;

//Arreglo que guarda cada letra en divs
let divsPalabraActual = [];

//Cantidad de palabras que debe acertar en cada jugada.
let totalQueDebeAcertar;

//Funcion que carga la  palabra nueva para jugar
function cargarNuevaPalabra(){
    //Aumento en uno cantidad de palabras jugadas y controlo si llego a su limite
    cantPalabrasJugadas++;
    if(cantPalabrasJugadas>12){
        //volvemos a cargar el arreglo
        arrayPalabras =["TRISTEZA", "ENOJO", "AMOR", "FELICIDAD", "MIEDO", "ABURRIMIENTO", "ENTUSIASMO", "TRANQUILIDAD", "DESAGRADO", "GRATITUD", "AMISTAD", "TIMIDEZ", ];
        ayudas = [
            "Emocion negativa que atravesamos cuando nos sentimos mal",
            "Emocion negativa que aparece cuando las cosas no van cuando queremos",
            "Emocion positiva que sentimos por las personas que nos importan",
            "Emocion positiva que nos hace sentir alegres",
            "Sentimiento negativo que sentimos cuando puede pasar algo peligroso",
            "Emocion que te hace sentir inquieto y te hace buscar hacer algo diferente",
            "Emocion positiva que nos hace estar en un estado de animo y exaltacion",
            "Sentimiento que nos pone en un estado de calma y paz",
            "Sentimiento que nos hace sentir rechazo por algo o alguien.",
            "Sentimiento que nos hace sentir agradecidos por las cosas positivas de la vida",
            "Es un lazo afectivo que puede existir entre dos o más individuos",
            "Emocion negativa que afecta a una persona cuando esta con otros",
                
        ]
    }
//Selecciono una posicion random
posActual = Math.floor(Math.random()*arrayPalabras.length);

//Tomamos la palabra nueva
let palabra = arrayPalabras[posActual];
console.log(palabra);
if (palabra == 'ENOJO') {imagenes="imagenes/img14.jpg"; imagen2="imagenes/img22.jpg"} 
else if (palabra == 'TRISTEZA') {imagenes="imagenes/img13.jpg"; imagen2="imagenes/img23.jpg"}
else if (palabra == 'AMOR') {imagenes="imagenes/img15.jpg"; imagen2="imagenes/img19.jpg"}
else if (palabra == 'FELICIDAD') {imagenes="imagenes/img16.jpg"; imagen2="imagenes/img26.jpg"}
else if (palabra == 'MIEDO') {imagenes="imagenes/img11.jpg"; imagen2="imagenes/img24.jpg"}
else if (palabra == 'TRANQUILIDAD') {imagenes="imagenes/img60.jpg"; imagen2="imagenes/img29.jpg"}
else if (palabra== 'ABURRIMIENTO') {imagenes="imagenes/img12.jpg"; imagen2="imagenes/img20.jpg"}
else if (palabra== 'ENTUSIASMO') {imagenes="imagenes/img17.jpg"; imagen2="imagenes/img21.jpg"}
else if (palabra == 'DESAGRADO') {imagenes="imagenes/img30.jpg"; imagen2="imagenes/img70.jpg"}
else if (palabra == 'GRATITUD') {imagenes="imagenes/img40.jpg"; imagen2="imagenes/img80.jpg"}
else if (palabra == 'AMISTAD') {imagenes="imagenes/img35.jpg"; imagen2="imagenes/img55.jpg"}
else if (palabra == 'TIMIDEZ') {imagenes="imagenes/img27.jpg"; imagen2="imagenes/img56.jpg"};
document.getElementById("imagen").src=imagenes;
    document.getElementById("imagen2").src=imagen2;
    //cantidad de letras que tiene esa palabra
    totalQueDebeAcertar = palabra.length;
    //coloco en 0 la cantidad acertadas hata el momento
    cantidadAcertadas = 0;

    //Guardamos la palabra que esta en formato string en un arreglo
    arrayPalabraActual = palabra.split('');

    //limpiamos los contenedores que quedaron cargadas con la palabra anterior
    document.getElementById("palabra").innerHTML = "";
    document.getElementById("letrasIngresadas").innerHTML = "";

    //Cargamos la cantidad de divs (letras) que tiene la palabra
    for(i=0;i<palabra.length;i++){
        var divLetra = document.createElement("div");
        divLetra.className = "letra";
        document.getElementById("palabra").appendChild(divLetra);
    }

    //Selecciono todos los divs de la palabra
    divsPalabraActual = document.getElementsByClassName("letra");

    //setemos los intentos
    intentosRestantes = 5;
    document.getElementById("intentos").innerHTML = intentosRestantes;


    //Cargamos la ayuda de la pregunta
    document.getElementById("ayuda").innerHTML = ayudas[posActual];
//elimino el elemento ya seleccionado del arreglo.
    //splice(posActual,1): A partir de la posicon posActual elimino 1 elemento
    arrayPalabras.splice(posActual,1);
    ayudas.splice(posActual,1);

}
//Llamada para cargar la primera palabra del juego
cargarNuevaPalabra();

//Detecto la tecla que el usuario presion
document.addEventListener("keydown", event => {
    //Controlo si la tecla presionada es una letra
    if(isLetter(event.key)){
        //Tomo las letras ya ingresadas hasta el momento
        let letrasIngresadas = document.getElementById("letrasIngresadas").innerHTML;
        //arma un a arreglo con las letras ingresadas
        letrasIngresadas = letrasIngresadas.split('');
        
        //controlo si la letra presionada ya ha sido ingresada
        if(letrasIngresadas.lastIndexOf(event.key.toUpperCase()) === -1){
            //variable bandera para saber si la letra ingresada esta en la palabra a descrubir
            let acerto = false;

            //Recorro el arreglo que contiene la palabra para verificar si la palabra ingresada esta
            for(i=0;i<arrayPalabraActual.length;i++){
                if(arrayPalabraActual[i] == event.key.toUpperCase()){//acertó
                    divsPalabraActual[i].innerHTML = event.key.toUpperCase();
                    acerto = true;
                    //Aumento en uno la cantidad de letras acertadas 
                    cantidadAcertadas = cantidadAcertadas + 1;
                }
            }
            //Controlo si acerto al menos una letra
            if(acerto==true){
                //controlamos si ya acerto todas
                if(totalQueDebeAcertar == cantidadAcertadas){
                    //asigno a cada div de la palabra la clase pintar para ponerlo en verde cada div
                    for(i=0;i<arrayPalabraActual.length;i++){
                        divsPalabraActual[i].className="letra pintar";
                    }
                }
            }else{
                //controlamos si ya acabo todas la oportunidades
                if(intentosRestantes<=0) {
                    for(i=0;i<arrayPalabraActual.length;i++){
                        if(intentosRestantes<=0)
                        divsPalabraActual[i].className="letra pintarError";  
                    }
                    let texto2 = arrayPalabraActual.join("");
                    for(i=0;i<arrayPalabraActual.length;i++){
                    divsPalabraActual[i].innerHTML =arrayPalabraActual[i];
                    }
                    
                }else{
                //No acerto, decremento los intentos restantes
               intentosRestantes = intentosRestantes - 1;
               document.getElementById("intentos").innerHTML = intentosRestantes;
                } 
            }  
            //agrega la letra ingresada a las letras ya ingresadas que se visualizan
            document.getElementById("letrasIngresadas").innerHTML += event.key.toLocaleUpperCase() + " - ";
        }
    }

});

//Funcion que me determina si un caracter es una letra
function isLetter(str) {
    return str.length === 1 && str.match(/[a-z]/i);
}

      
    
    
    
    

