//Preparamos las variables let posicionesTablero = []; let tableroJuego = []; let habilitarJuego = 0; let jugadorAzul; let jugadorRojo; let jugadorActual; let jugadorActualJuego; let seleccion = []; let auxT; let contRojo = 12; let contAzul = 12; //Preparamos el tablero para dibujar y para jugar for(let i = 0;i<8;i++){ posicionesTablero[i] = new Array(8); tableroJuego[i] = new Array(8); } //Cargamos las direcciones en el tablero //Cargamos los valores predeterminado del tablero para jugar for(let i = 0;i<8;i++){ for(let j = 0;j<8;j++){ posicionesTablero[i][j] = document.getElementById(""+i+j); document.getElementById(""+i+j).innerHTML = ""; tableroJuego[i][j] = parseInt(0); } } //Cargamos las posiciones iniciales de las fichas en el tablero de juego (abajo). //Dibujamos las posiciones iniciales de las fichas en el tablero html (abajo) for(let j = 0;j<8;j=j+2){ posicionesTablero[5][j].style.background = "red"; tableroJuego[5][j] = parseInt(1); } for(let j = 1;j<8;j=j+2){ posicionesTablero[6][j].style.background = "red"; tableroJuego[6][j] = parseInt(1); } for(let j = 0;j<8;j=j+2){ posicionesTablero[7][j].style.background = "red"; tableroJuego[7][j] = parseInt(1); } //Cargamos las posiciones iniciales de las fichas en el tablero de juego (abajo). //Dibujamos las posiciones iniciales de las fichas en el tablero html (abajo) for(let j = 1;j<8;j=j+2){ posicionesTablero[0][j].style.background = "blue"; tableroJuego[0][j] = parseInt(2); } for(let j = 0;j<8;j=j+2){ posicionesTablero[1][j].style.background = "blue"; tableroJuego[1][j] = parseInt(2); } for(let j = 1;j<8;j=j+2){ posicionesTablero[2][j].style.background = "blue"; tableroJuego[2][j] = parseInt(2); } //funcion que se ejecuta cuando se presiona el boton jugar function iniciarJuego() { //Comprobamos si se cargaron los nombres en ambos campos if(document.getElementById("camp1").value == "" || document.getElementById("camp2").value == ""){ alert("Se debe cargar el nombre de ambos jugadores"); if(document.getElementById("camp1").value == ""){ document.getElementById("camp1").focus(); }else if(document.getElementById("camp2").value == ""){ document.getElementById("camp2").focus(); }else{ document.getElementById("camp1").focus(); } //Comprobamos que ambos jugadores no elijan el mismo color }else if(document.getElementById("selector1").selectedIndex == document.getElementById("selector2").selectedIndex){ alert("Cada jugador debe tener un color distinto de ficha"); //Una vez que comprobamos los errores, realizamos el analisis //Establecemos quien juega cada color }else{ //Guardamos el nombre del jugador cargado en el campo 1 if(document.getElementById("selector1").selectedIndex == 0){ jugadorRojo = document.getElementById("camp1").value; }else{ jugadorAzul = document.getElementById("camp1").value; } //Guardamos el nombre del jugador cargado en el campo 2 if(document.getElementById("selector2").selectedIndex == 0){ jugadorRojo = document.getElementById("camp2").value; }else{ jugadorAzul = document.getElementById("camp2").value; } //Eliminamos el boton y empezamos a escribir el jugado a va a jugar a continuación document.getElementById("btnBoton").remove(); jugadorActual = jugadorRojo; document.getElementById("resultado").innerHTML = "Ahora juega " + jugadorActual; habilitarJuego = 1; jugadorActualJuego = 1; document.getElementById("camp1").disabled = "true"; document.getElementById("camp2").disabled = "true"; document.getElementById("selector1").disabled = "true"; document.getElementById("selector2").disabled = "true"; } } //funcion que se ejecuta cuando se presiona una casilla function presionCasilla(posicion) { //Esto para permitir el juego si se presiono el boton let resultado = 0; if(habilitarJuego == 1){ //Marca la primera casilla para jugar if(seleccion.length == 0){ seleccion[0] = posicion; auxT = document.getElementById(posicion).innerHTML; document.getElementById(posicion).innerHTML = "*"; //Aqui es donde realizamos la jugada }else if(seleccion.length == 1){ console.log(seleccion[0]); console.log(tableroJuego); console.log("X: "+parseInt(seleccion[0]/10)); console.log("Y: "+seleccion[0]%10); //Guardamos la segunda colocacion seleccion[1] = posicion; //Esto sirve para establecer si la jugada es correcta o no if((jugadorActualJuego == 1) && (tableroJuego[parseInt(seleccion[0]/10)][parseInt(seleccion[0]%10)] == 1)){ if(auxT == 'D'){ resultado = realizarJugadaRoja(true); }else{ resultado = realizarJugadaRoja(false); } if(resultado==1 || resultado==3){ //Primero averiguamos si la ficha hizo dama if((""+seleccion[1])=="01"){ document.getElementById(""+seleccion[1]).innerHTML = 'D'; }else if((""+seleccion[1])=="03"){ document.getElementById(""+seleccion[1]).innerHTML = 'D'; }else if((""+seleccion[1])=="05"){ document.getElementById(""+seleccion[1]).innerHTML = 'D'; }else if((""+seleccion[1])=="07"){ document.getElementById(""+seleccion[1]).innerHTML = 'D'; } //Preguntamos si ya se gano el juego if(contAzul<=0){ document.getElementById("resultado").innerHTML = "Ganador " + jugadorActual; habilitarJuego = 3; return; } if(resultado == 3){ if(document.getElementById(""+seleccion[1]).innerHTML == 'D'){ if(comprobarSigFichaAzul(true,seleccion[1])){ alert(""+jugadorActual + ", en la siguiente jugada, puedes comer otra ficha, " + "o puedes omitirlo"); }else{ //Pregunta quien fue el jugador anterior para asi realizar el cambio if(jugadorActualJuego == 1){ jugadorActualJuego = 2; jugadorActual = jugadorAzul; }else{ jugadorActualJuego = 1; jugadorActual = jugadorRojo; } } }else{ if(comprobarSigFichaAzul(false,seleccion[1])){ alert(""+jugadorActual + ", en la siguiente jugada, puedes comer otra ficha, " + "o puedes omitirlo"); }else{ //Pregunta quien fue el jugador anterior para asi realizar el cambio if(jugadorActualJuego == 1){ jugadorActualJuego = 2; jugadorActual = jugadorAzul; }else{ jugadorActualJuego = 1; jugadorActual = jugadorRojo; } } } }else{ //Pregunta quien fue el jugador anterior para asi realizar el cambio if(jugadorActualJuego == 1){ jugadorActualJuego = 2; jugadorActual = jugadorAzul; }else{ jugadorActualJuego = 1; jugadorActual = jugadorRojo; } } document.getElementById("resultado").innerHTML = "Ahora juega " + jugadorActual; } seleccion = []; }else if((jugadorActualJuego == 1) && (tableroJuego[parseInt(seleccion[0]/10)][parseInt(seleccion[0]%10)] == 2)){ alert("Ficha incorrecta del jugador actual"); document.getElementById(""+seleccion[0]).innerHTML = ""; seleccion = []; }else if((jugadorActualJuego == 2) && (tableroJuego[parseInt(seleccion[0]/10)][parseInt(seleccion[0]%10)] == 2)){ if(auxT == 'D'){ resultado =realizarJugadaAzul(true); }else{ resultado =realizarJugadaAzul(false); } if(resultado==1 || resultado==3){ //Primero averiguamos si la ficha hizo dama if((""+seleccion[1])=="70"){ document.getElementById(""+seleccion[1]).innerHTML = 'D'; }else if((""+seleccion[1])=="72"){ document.getElementById(""+seleccion[1]).innerHTML = 'D'; }else if((""+seleccion[1])=="74"){ document.getElementById(""+seleccion[1]).innerHTML = 'D'; }else if((""+seleccion[1])=="76"){ document.getElementById(""+seleccion[1]).innerHTML = 'D'; } //Preguntamos si ya se gano el juego if(contRojo<=0){ document.getElementById("resultado").innerHTML = "Ganador " + jugadorActual; habilitarJuego = 3; return; } if(resultado == 3){ if(document.getElementById(""+seleccion[1]).innerHTML == 'D'){ if(comprobarSigFichaRojo(true,seleccion[1])){ alert(""+jugadorActual + ", en la siguiente jugada, puedes comer otra ficha, " + "o puedes omitirlo"); }else{ //Pregunta quien fue el jugador anterior para asi realizar el cambio if(jugadorActualJuego == 1){ jugadorActualJuego = 2; jugadorActual = jugadorAzul; }else{ jugadorActualJuego = 1; jugadorActual = jugadorRojo; } } }else{ if(comprobarSigFichaRojo(false,seleccion[1])){ alert(""+jugadorActual + ", en la siguiente jugada, puedes comer otra ficha, " + "o puedes omitirlo"); }else{ //Pregunta quien fue el jugador anterior para asi realizar el cambio if(jugadorActualJuego == 1){ jugadorActualJuego = 2; jugadorActual = jugadorAzul; }else{ jugadorActualJuego = 1; jugadorActual = jugadorRojo; } } } }else{ //Pregunta quien fue el jugador anterior para asi realizar el cambio if(jugadorActualJuego == 1){ jugadorActualJuego = 2; jugadorActual = jugadorAzul; }else{ jugadorActualJuego = 1; jugadorActual = jugadorRojo; } } document.getElementById("resultado").innerHTML = "Ahora juega " + jugadorActual; } seleccion = []; }else if((jugadorActualJuego == 2) && (tableroJuego[parseInt(seleccion[0]/10)][parseInt(seleccion[0]%10)] == 1)){ alert("Ficha incorrecta del jugador actual"); document.getElementById(seleccion[0]).innerHTML = auxT; seleccion = []; }else{ alert("Usted selecciono un casillero vacio"); document.getElementById(seleccion[0]).innerHTML = auxT; seleccion = []; } }else{ alert("Error"); } }else if(habilitarJuego == 0){ alert("No se presiono el boton Jugar"); }else{ //Esto es cuando se termina el juego, y si se desea continuar let resultado1 = prompt("Desea jugar otra vesz?\n1-SI\n2-NO"); if(resultado1.toUpperCase() == "SI"){ location.reload(true); }else if(resultado1.toUpperCase() == "NO"){ alert("Fin del juego"); }else{ alert("Se dio una opción incorrecta"); } } } function realizarJugadaRoja(reina) { console.log("Reina?: " + reina); let posiciones = []; let aux; //Cargamos las posiciones correspondientes //.charAt(0) = x , .charAt(1) = y posiciones[0] = parseInt(""+seleccion[0].charAt(0)); posiciones[1] = parseInt(""+seleccion[0].charAt(1)); posiciones[2] = parseInt(""+seleccion[1].charAt(0)); posiciones[3] = parseInt(""+seleccion[1].charAt(1)); //Primero comprobamos si el jugador quiere mover su ficha o comer una pieza //Si desea mover su pieza if(("" + (posiciones[0]-1)+(posiciones[1]-1)) == seleccion[1]){ //Preguntamos si el casillero esta vacio console.log("Jugada X: "+posiciones[2]); console.log("Jugada Y: "+posiciones[3]); if(tableroJuego[posiciones[2]][posiciones[3]] == 0){ //Realizamos el cambio aux = tableroJuego[posiciones[0]][posiciones[1]]; //Preguntamos que ficha estamos moviendo document.getElementById(""+seleccion[1]).style.background = "red"; document.getElementById(""+seleccion[0]).style.background = "white"; tableroJuego[posiciones[0]][posiciones[1]] = 0; document.getElementById(""+seleccion[0]).innerHTML = ""; tableroJuego[posiciones[2]][posiciones[3]] = aux; document.getElementById(""+seleccion[1]).innerHTML = auxT; return 1; }else{ document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } } if(("" + (posiciones[0]-1)+(posiciones[1]+1)) == seleccion[1]){ //Preguntamos si el casillero esta vacio if(tableroJuego[posiciones[2]][posiciones[3]] == 0){ //Realizamos el cambio aux = tableroJuego[posiciones[0]][posiciones[1]]; //Preguntamos que ficha estamos moviendo document.getElementById(""+seleccion[1]).style.background = "red"; document.getElementById(""+seleccion[0]).style.background = "white"; tableroJuego[posiciones[0]][posiciones[1]] = 0; document.getElementById(""+seleccion[0]).innerHTML = ""; tableroJuego[posiciones[2]][posiciones[3]] = aux; document.getElementById(""+seleccion[1]).innerHTML = auxT; return 1; }else{ document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } } //Esto es si es con reina if(("" + (posiciones[0]+1)+(posiciones[1]-1)) == seleccion[1]){ if(reina){ //Preguntamos si el casillero esta vacio if(tableroJuego[posiciones[2]][posiciones[3]] == 0){ //Realizamos el cambio aux = tableroJuego[posiciones[0]][posiciones[1]]; //Preguntamos que ficha estamos moviendo document.getElementById(""+seleccion[1]).style.background = "red"; document.getElementById(""+seleccion[0]).style.background = "white"; tableroJuego[posiciones[0]][posiciones[1]] = 0; document.getElementById(""+seleccion[0]).innerHTML = ""; tableroJuego[posiciones[2]][posiciones[3]] = aux; document.getElementById(""+seleccion[1]).innerHTML = auxT; return 1; }else{ document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } }else{ alert("Se necesita ser reina para realizar el movimiento"); document.getElementById(seleccion[0]).innerHTML = ""; return 2; } } if(("" + (posiciones[0]+1)+(posiciones[1]+1)) == seleccion[1]){ if(reina){ //Preguntamos si el casillero esta vacio if(tableroJuego[posiciones[2]][posiciones[3]] == 0){ //Realizamos el cambio aux = tableroJuego[posiciones[0]][posiciones[1]]; //Preguntamos que ficha estamos moviendo document.getElementById(""+seleccion[1]).style.background = "red"; document.getElementById(""+seleccion[0]).style.background = "white"; tableroJuego[posiciones[0]][posiciones[1]] = 0; document.getElementById(""+seleccion[0]).innerHTML = ""; tableroJuego[posiciones[2]][posiciones[3]] = aux; document.getElementById(""+seleccion[1]).innerHTML = auxT; return 1; }else{ document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } }else{ alert("Se necesita ser reina para realizar el movimiento"); document.getElementById(seleccion[0]).innerHTML = ""; return 2; } } //Esto es si quiere comer //Si se solo ficha normal o reina if(("" + (posiciones[0]-2)+(posiciones[1]-2)) == seleccion[1]){ if(tableroJuego[posiciones[0]-1][posiciones[1]-1] == 0){ alert("Movimiento invalido. No se puede saltar dos casillas"); document.getElementById(seleccion[0]).innerHTML = auxT; return 2; }else if(tableroJuego[posiciones[0]-1][posiciones[1]-1] == 1){ alert("Movimiento invalido. No se puede comer a tu propia ficha"); document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } //Preguntamos si el casillero esta vacio if(tableroJuego[posiciones[2]][posiciones[3]] == 0){ //Realizamos el cambio aux = tableroJuego[posiciones[0]][posiciones[1]] //Preguntamos que ficha estamos moviendo document.getElementById(""+seleccion[1]).style.background = "red"; document.getElementById(""+seleccion[0]).style.background = "white"; tableroJuego[posiciones[0]][posiciones[1]] = 0; document.getElementById(""+seleccion[0]).innerHTML = ""; tableroJuego[posiciones[2]][posiciones[3]] = aux; document.getElementById(""+seleccion[1]).innerHTML = auxT; //Eliminamos a la ficha elemiga tableroJuego[posiciones[0]-1][posiciones[1]-1] = 0; document.getElementById(""+(posiciones[0]-1)+(posiciones[1]-1)).style.background = "white"; document.getElementById(""+(posiciones[0]-1)+(posiciones[1]-1)).innerHTML = ""; contAzul = contAzul - 1; return 3; }else{ document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } } if(("" + (posiciones[0]-2)+(posiciones[1]+2)) == seleccion[1]){ if(tableroJuego[posiciones[0]-1][posiciones[1]+1] == 0){ alert("Movimiento invalido. No se puede saltar dos casillas"); document.getElementById(seleccion[0]).innerHTML = auxT; return 2; }else if(tableroJuego[posiciones[0]-1][posiciones[1]+1] == 1){ alert("Movimiento invalido. No se puede comer a tu propia ficha"); document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } //Preguntamos si el casillero esta vacio if(tableroJuego[posiciones[2]][posiciones[3]] == 0){ //Realizamos el cambio aux = tableroJuego[posiciones[0]][posiciones[1]] //Preguntamos que ficha estamos moviendo document.getElementById(""+seleccion[1]).style.background = "red"; document.getElementById(""+seleccion[0]).style.background = "white"; tableroJuego[posiciones[0]][posiciones[1]] = 0; document.getElementById(""+seleccion[0]).innerHTML = ""; tableroJuego[posiciones[2]][posiciones[3]] = aux; document.getElementById(""+seleccion[1]).innerHTML = auxT; //Eliminamos a la ficha elemiga tableroJuego[posiciones[0]-1][posiciones[1]+1] = 0; document.getElementById(""+(posiciones[0]-1)+(posiciones[1]+1)).style.background = "white"; document.getElementById(""+(posiciones[0]-1)+(posiciones[1]+1)).innerHTML = ""; contAzul = contAzul - 1; return 3; }else{ document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } } //Esto es si es con reina if(("" + (posiciones[0]+2)+(posiciones[1]-2)) == seleccion[1]){ if(tableroJuego[posiciones[0]+1][posiciones[1]-1] == 0){ alert("Movimiento invalido. No se puede saltar dos casillas"); document.getElementById(seleccion[0]).innerHTML = auxT; return 2; }else if(tableroJuego[posiciones[0]+1][posiciones[1]-1] == 1){ alert("Movimiento invalido. No se puede comer a tu propia ficha"); document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } if(reina){ //Preguntamos si el casillero esta vacio if(tableroJuego[posiciones[2]][posiciones[3]] == 0){ //Realizamos el cambio aux = tableroJuego[posiciones[0]][posiciones[1]]; //Preguntamos que ficha estamos moviendo document.getElementById(""+seleccion[1]).style.background = "red"; document.getElementById(""+seleccion[0]).style.background = "white"; tableroJuego[posiciones[0]][posiciones[1]] = 0; document.getElementById(""+seleccion[0]).innerHTML = ""; tableroJuego[posiciones[2]][posiciones[3]] = aux; document.getElementById(""+seleccion[1]).innerHTML = auxT; //Eliminamos a la ficha elemiga tableroJuego[posiciones[0]+1][posiciones[1]-1] = 0; document.getElementById(""+(posiciones[0]+1)+(posiciones[1]-1)).style.background = "white"; document.getElementById(""+(posiciones[0]+1)+(posiciones[1]-1)).innerHTML = ""; contAzul = contAzul - 1; return 3; }else{ document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } }else{ alert("Se necesita ser reina para realizar el movimiento"); document.getElementById(seleccion[0]).innerHTML = ""; return 2; } } if(("" + (posiciones[0]+2)+(posiciones[1]+2)) == seleccion[1]){ if(tableroJuego[posiciones[0]+1][posiciones[1]+1] == 0){ alert("Movimiento invalido. No se puede saltar dos casillas"); document.getElementById(seleccion[0]).innerHTML = auxT; return 2; }else if(tableroJuego[posiciones[0]+1][posiciones[1]+1] == 1){ alert("Movimiento invalido. No se puede comer a tu propia ficha"); document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } if(reina){ //Preguntamos si el casillero esta vacio if(tableroJuego[posiciones[2]][posiciones[3]] == 0){ //Realizamos el cambio aux = tableroJuego[posiciones[0]][posiciones[1]]; //Preguntamos que ficha estamos moviendo document.getElementById(""+seleccion[1]).style.background = "red"; document.getElementById(""+seleccion[0]).style.background = "white"; tableroJuego[posiciones[0]][posiciones[1]] = 0; document.getElementById(""+seleccion[0]).innerHTML = ""; tableroJuego[posiciones[2]][posiciones[3]] = aux; document.getElementById(""+seleccion[1]).innerHTML = auxT; //Eliminamos a la ficha elemiga tableroJuego[posiciones[0]+1][posiciones[1]+1] = 0; document.getElementById(""+(posiciones[0]+1)+(posiciones[1]+1)).style.background = "white"; document.getElementById(""+(posiciones[0]+1)+(posiciones[1]+1)).innerHTML = ""; contAzul = contAzul - 1; return 3; }else{ document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } }else{ alert("Se necesita ser reina para realizar el movimiento"); document.getElementById(seleccion[0]).innerHTML = ""; return 2; } } document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } function realizarJugadaAzul(reina) { let posiciones = []; let aux; //Cargamos las posiciones correspondientes //.charAt(0) = x , .charAt(1) = y posiciones[0] = parseInt(""+seleccion[0].charAt(0)); posiciones[1] = parseInt(""+seleccion[0].charAt(1)); posiciones[2] = parseInt(""+seleccion[1].charAt(0)); posiciones[3] = parseInt(""+seleccion[1].charAt(1)); //Primero comprobamos si el jugador quiere mover su ficha o comer una pieza //Si desea mover su pieza (con reina) if(("" + (posiciones[0]-1)+(posiciones[1]-1)) == seleccion[1]){ if(reina){ //Preguntamos si el casillero esta vacio if(tableroJuego[posiciones[2]][posiciones[3]] == 0){ //Realizamos el cambio aux = tableroJuego[posiciones[0]][posiciones[1]]; //Preguntamos que ficha estamos moviendo document.getElementById(""+seleccion[1]).style.background = "blue"; document.getElementById(""+seleccion[0]).style.background = "white"; tableroJuego[posiciones[0]][posiciones[1]] = 0; document.getElementById(""+seleccion[0]).innerHTML = ""; tableroJuego[posiciones[2]][posiciones[3]] = aux; document.getElementById(""+seleccion[1]).innerHTML = auxT; return 1; }else{ document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } }else{ alert("Se necesita ser reina para realizar el movimiento"); document.getElementById(seleccion[0]).innerHTML = ""; return 2; } } if(("" + (posiciones[0]-1)+(posiciones[1]+1)) == seleccion[1]){ if(reina){ //Preguntamos si el casillero esta vacio if(tableroJuego[posiciones[2]][posiciones[3]] == 0){ //Realizamos el cambio aux = tableroJuego[posiciones[0]][posiciones[1]]; //Preguntamos que ficha estamos moviendo document.getElementById(""+seleccion[1]).style.background = "blue"; document.getElementById(""+seleccion[0]).style.background = "white"; tableroJuego[posiciones[0]][posiciones[1]] = 0; document.getElementById(""+seleccion[0]).innerHTML = ""; tableroJuego[posiciones[2]][posiciones[3]] = aux; document.getElementById(""+seleccion[1]).innerHTML = auxT; return 1; }else{ document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } }else{ alert("Se necesita ser reina para realizar el movimiento"); document.getElementById(seleccion[0]).innerHTML = ""; return 2; } } //Esto es si no es con reina if(("" + (posiciones[0]+1)+(posiciones[1]-1)) == seleccion[1]){ //Preguntamos si el casillero esta vacio if(tableroJuego[posiciones[2]][posiciones[3]] == 0){ //Realizamos el cambio aux = tableroJuego[posiciones[0]][posiciones[1]] //Preguntamos que ficha estamos moviendo document.getElementById(""+seleccion[1]).style.background = "blue"; document.getElementById(""+seleccion[0]).style.background = "white"; tableroJuego[posiciones[0]][posiciones[1]] = 0; document.getElementById(""+seleccion[0]).innerHTML = ""; tableroJuego[posiciones[2]][posiciones[3]] = aux; document.getElementById(""+seleccion[1]).innerHTML = auxT; return 1; }else{ document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } } if(("" + (posiciones[0]+1)+(posiciones[1]+1)) == seleccion[1]){ //Preguntamos si el casillero esta vacio if(tableroJuego[posiciones[2]][posiciones[3]] == 0){ //Realizamos el cambio aux = tableroJuego[posiciones[0]][posiciones[1]] //Preguntamos que ficha estamos moviendo document.getElementById(""+seleccion[1]).style.background = "blue"; document.getElementById(""+seleccion[0]).style.background = "white"; tableroJuego[posiciones[0]][posiciones[1]] = 0; document.getElementById(""+seleccion[0]).innerHTML = ""; tableroJuego[posiciones[2]][posiciones[3]] = aux; document.getElementById(""+seleccion[1]).innerHTML = auxT; return 1; }else{ document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } } //Esto es si quiere comer //Si se solo ficha reina if(("" + (posiciones[0]-2)+(posiciones[1]-2)) == seleccion[1]){ if(tableroJuego[posiciones[0]-1][posiciones[1]-1] == 0){ alert("Movimiento invalido. No se puede saltar dos casillas"); document.getElementById(seleccion[0]).innerHTML = auxT; return 2; }else if(tableroJuego[posiciones[0]-1][posiciones[1]-1] == 2){ alert("Movimiento invalido. No se puede comer a tu propia ficha"); document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } if(reina){ //Preguntamos si el casillero esta vacio if(tableroJuego[posiciones[2]][posiciones[3]] == 0){ //Realizamos el cambio aux = tableroJuego[posiciones[0]][posiciones[1]]; //Preguntamos que ficha estamos moviendo document.getElementById(""+seleccion[1]).style.background = "blue"; document.getElementById(""+seleccion[0]).style.background = "white"; tableroJuego[posiciones[0]][posiciones[1]] = 0; document.getElementById(""+seleccion[0]).innerHTML = ""; tableroJuego[posiciones[2]][posiciones[3]] = aux; document.getElementById(""+seleccion[1]).innerHTML = auxT; //Eliminamos a la ficha elemiga tableroJuego[posiciones[0]-1][posiciones[1]-1] = 0; document.getElementById(""+(posiciones[0]-1)+(posiciones[1]-1)).style.background = "white"; document.getElementById(""+(posiciones[0]-1)+(posiciones[1]-1)).innerHTML = ""; contRojo = contRojo - 1; return 3; }else{ document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } }else{ alert("Se necesita ser reina para realizar el movimiento") document.getElementById(seleccion[0]).innerHTML = ""; return 2; } } if(("" + (posiciones[0]-2)+(posiciones[1]+2)) == seleccion[1]){ if(tableroJuego[posiciones[0]-1][posiciones[1]+1] == 0){ alert("Movimiento invalido. No se puede saltar dos casillas"); document.getElementById(seleccion[0]).innerHTML = auxT; return 2; }else if(tableroJuego[posiciones[0]-1][posiciones[1]+1] == 2){ alert("Movimiento invalido. No se puede comer a tu propia ficha"); document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } if(reina){ //Preguntamos si el casillero esta vacio if(tableroJuego[posiciones[2]][posiciones[3]] == 0){ //Realizamos el cambio aux = tableroJuego[posiciones[0]][posiciones[1]]; //Preguntamos que ficha estamos moviendo document.getElementById(""+seleccion[1]).style.background = "blue"; document.getElementById(""+seleccion[0]).style.background = "white"; tableroJuego[posiciones[0]][posiciones[1]] = 0; document.getElementById(""+seleccion[0]).innerHTML = ""; tableroJuego[posiciones[2]][posiciones[3]] = aux; document.getElementById(""+seleccion[1]).innerHTML = auxT; //Eliminamos a la ficha elemiga tableroJuego[posiciones[0]-1][posiciones[1]+1] = 0; document.getElementById(""+(posiciones[0]-1)+(posiciones[1]+1)).style.background = "white"; document.getElementById(""+(posiciones[0]-1)+(posiciones[1]+1)).innerHTML = ""; contRojo = contRojo - 1; return 3; }else{ document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } }else{ alert("Se necesita ser reina para realizar el movimiento"); document.getElementById(seleccion[0]).innerHTML = ""; return 2; } } //Esto es si es con reina if(("" + (posiciones[0]+2)+(posiciones[1]-2)) == seleccion[1]){ if(tableroJuego[posiciones[0]+1][posiciones[1]-1] == 0){ alert("Movimiento invalido. No se puede saltar dos casillas"); document.getElementById(seleccion[0]).innerHTML = auxT; return 2; }else if(tableroJuego[posiciones[0]+1][posiciones[1]-1] == 2){ alert("Movimiento invalido. No se puede comer a tu propia ficha"); document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } //Preguntamos si el casillero esta vacio if(tableroJuego[posiciones[2]][posiciones[3]] == 0){ //Realizamos el cambio aux = tableroJuego[posiciones[0]][posiciones[1]] //Preguntamos que ficha estamos moviendo document.getElementById(""+seleccion[1]).style.background = "blue"; document.getElementById(""+seleccion[0]).style.background = "white"; tableroJuego[posiciones[0]][posiciones[1]] = 0; document.getElementById(""+seleccion[0]).innerHTML = ""; tableroJuego[posiciones[2]][posiciones[3]] = aux; document.getElementById(""+seleccion[1]).innerHTML = auxT; //Eliminamos a la ficha elemiga tableroJuego[posiciones[0]+1][posiciones[1]-1] = 0; document.getElementById(""+(posiciones[0]+1)+(posiciones[1]-1)).style.background = "white"; document.getElementById(""+(posiciones[0]+1)+(posiciones[1]-1)).innerHTML = ""; contRojo = contRojo - 1; return 3; }else{ document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } } if(("" + (posiciones[0]+2)+(posiciones[1]+2)) == seleccion[1]){ if(tableroJuego[posiciones[0]+1][posiciones[1]+1] == 0){ alert("Movimiento invalido. No se puede saltar dos casillas"); document.getElementById(seleccion[0]).innerHTML = auxT; return 2; }else if(tableroJuego[posiciones[0]+1][posiciones[1]+1] == 2){ alert("Movimiento invalido. No se puede comer a tu propia ficha"); document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } //Preguntamos si el casillero esta vacio if(tableroJuego[posiciones[2]][posiciones[3]] == 0){ //Realizamos el cambio aux = tableroJuego[posiciones[0]][posiciones[1]] //Preguntamos que ficha estamos moviendo document.getElementById(""+seleccion[1]).style.background = "blue"; document.getElementById(""+seleccion[0]).style.background = "white"; tableroJuego[posiciones[0]][posiciones[1]] = 0; document.getElementById(""+seleccion[0]).innerHTML = ""; tableroJuego[posiciones[2]][posiciones[3]] = aux; document.getElementById(""+seleccion[1]).innerHTML = auxT; //Eliminamos a la ficha elemiga tableroJuego[posiciones[0]+1][posiciones[1]+1] = 0; document.getElementById(""+(posiciones[0]+1)+(posiciones[1]+1)).style.background = "white"; document.getElementById(""+(posiciones[0]+1)+(posiciones[1]+1)).innerHTML = ""; contRojo = contRojo - 1; return 3; }else{ document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } } document.getElementById(seleccion[0]).innerHTML = auxT; return 2; } function comprobarSigFichaAzul(reina1,posicion){ //Pasamos la cadena a posiciones X e Y let pos_x = parseInt(posicion/10); let pos_y = parseInt(posicion%10); //Realizamos las comparaciones if((pos_x-1>=0) && (pos_x-1<=7) && (pos_y-1>=0) && (pos_y-1<=7) && tableroJuego[pos_x-1][pos_y-1] == 2){ if((pos_x-2>=0) && (pos_x-2<=7) && (pos_y-2>=0) && (pos_y-2<=7) && tableroJuego[pos_x-2][pos_y-2] == 0){ return true; } } if((pos_x-1>=0) && (pos_x-1<=7) && (pos_y+1>=0) && (pos_y+1<=7) && tableroJuego[pos_x-1][pos_y+1] == 2){ if((pos_x-2>=0) && (pos_x-2<=7) && (pos_y+2>=0) && (pos_y+2<=7) && tableroJuego[pos_x-2][pos_y+2] == 0){ return true; } } if((pos_x+1>=0) && (pos_x+1<=7) && (pos_y-1>=0) && (pos_y-1<=7) && tableroJuego[pos_x+1][pos_y-1] == 2 && reina1){ if((pos_x+2>=0) && (pos_x+2<=7) && (pos_y-2>=0) && (pos_y-2<=7) && tableroJuego[pos_x+2][pos_y-2] == 0){ return true; } } if((pos_x+1>=0) && (pos_x+1<=7) && (pos_y+1>=0) && (pos_y+1<=7) && tableroJuego[pos_x+1][pos_y+1] == 2 && reina1){ if((pos_x+2>=0) && (pos_x+2<=7) && (pos_y+2>=0) && (pos_y+2<=7) && tableroJuego[pos_x+2][pos_y+2] == 0){ return true; } } return false; } function comprobarSigFichaRojo(reina1,posicion){ //Pasamos la cadena a posiciones X e Y let pos_x = parseInt(posicion/10); let pos_y = parseInt(posicion%10); //Realizamos las comparaciones if((pos_x-1>=0) && (pos_x-1<=7) && (pos_y-1>=0) && (pos_y-1<=7) && tableroJuego[pos_x-1][pos_y-1] == 1 && reina1){ if((pos_x-2>=0) && (pos_x-2<=7) && (pos_y-2>=0) && (pos_y-2<=7) && tableroJuego[pos_x-2][pos_y-2] == 0){ return true; } } if((pos_x-1>=0) && (pos_x-1<=7) && (pos_y+1>=0) && (pos_y+1<=7) && tableroJuego[pos_x-1][pos_y+1] == 1 && reina1){ if((pos_x-2>=0) && (pos_x-2<=7) && (pos_y+2>=0) && (pos_y+2<=7) && tableroJuego[pos_x-2][pos_y+2] == 0){ return true; } } if((pos_x+1>=0) && (pos_x+1<=7) && (pos_y-1>=0) && (pos_y-1<=7) && tableroJuego[pos_x+1][pos_y-1] == 1){ if((pos_x+2>=0) && (pos_x+2<=7) && (pos_y-2>=0) && (pos_y-2<=7) && tableroJuego[pos_x+2][pos_y-2] == 0){ return true; } } if((pos_x+1>=0) && (pos_x+1<=7) && (pos_y+1>=0) && (pos_y+1<=7) && tableroJuego[pos_x+1][pos_y+1] == 1){ if((pos_x+2>=0) && (pos_x+2<=7) && (pos_y+2>=0) && (pos_y+2<=7) && tableroJuego[pos_x+2][pos_y+2] == 0){ return true; } } return false; }