Commit 3b6754ba by roshka

Dama 1.0

parents
## Indicaciones
Las fichas son cuadros coloreados, que, si está coloreado de color rojo, equivale a las fichas rojas,
e igual ocurre con las fichas azules.
En los campos de abajo se colocan los nombres de los jugadores con sus respectivas fichas.
Una vez presionado el botón 'Jugar', comienza el juego. El juego no comienza sin que se cumpla con los requisitos anteriores, sinó, lanzará un alert() pidiendo el requisito necesario.
El botón será reemplazado por un mensaje que dirá el nombre del jugador actual en todo el juego. Los campos y selectores estarán bloqueados.
Siempre comienza primero el rojo.
Cuando se selecciona una ficha o casillero, aparecerá el signo '*' sobre el mismo, y despues de eso, hay que marcar donde se quiere que la ficha
se coloque.
En caso que se marcó una casilla vacia y luego se marca el destino como si hubiera una ficha, lanzara un alert() para avisarte que
su jugada es invalida, y eliminará la selección de la casilla. Se tiene que hacer lo segundo para eliminar la jugada erronea.
Si un jugador intenta comer a su propia ficha, el jugador será avisado por un alert() que está realizando dicho movimiento, se desmarca la ficha seleccionada
y espera que el mismo jugador realice una jugada valida.
En caso que el jugador quiera desplazar como si fuera una 'TORRE', solamente desmarcara la selección. Esto tambien sucede si realiza un saldo con mas de 2 casillas vacias.
En caso que el jugador quiera hacer un salto con 2 casilleros vacios, el jugador recibira un alert(), y esperará que el mismo jugador vuelva a realizar una jugada valida.
Si el jugador tiene la posibilidad de comer mas de una ficha, se lanzará un alert() al jugador actual que tiene la posibilidad de comer otra ficha, o puede omitir la comida, y realiza otro movimiento. El jugador deja de seguir jugando una vez que no tenga mas posibilidades de seguir comiendo.
En caso que una ficha se haga "Dama", en la casilla estará escrito la letra 'D'.
La diferencia entre una ficha normal y la dama es que la reina puede comer en todas las diagonales con todas las direcciones posibles.
Una vez que se un jugador logró comer todas la fichas del oponente, la frase donde decía el nombre del jugador actual cambiará al nombre del jugador.
Si se presiona de nuevo el casillero, aparecerá un mensaje que preguntará si desea jugar de nuevo o finalizar el juego. Las respuestas son 'Si' o 'No'.
Si es 'Si' se crea otro juego, y en caso contrario, lanza un alert() diciendo "Fin del juego'
\ No newline at end of file
.columna{
border: 1px black solid;
width: 50px;
height: 50px;
text-align: center;
background: white;
font-size:30px;
}
body{
background:skyblue;
}
#seccion1{
position: absolute;
left: 510px;
height: 400px;
width: 500px;
}
#seccion11{
margin: 20px;
padding: 0px;
background: white;
}
#tituloJuego{
text-align: center;
font-size: 50px;
margin: 0px;
padding: 0px;
}
.selectores{
font-size: 20px;
}
#resultado{
font-size: 25px;
}
#btnBoton{
margin:10px;
font-size: 35px;
text-align: center;
}
#formulario1{
display: inline-block;
text-align: center;
padding-left:10px;
padding-right:10px;
}
.campos{
width: 100px;
font-size: 15px
}
#tituloConf{
font-size: 20px;
}
.tabla{
position: relative;
left: 25px;
}
\ No newline at end of file
<!DOCTYPE html>
<html lang="es">
<head>
<title>Dama en JS</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="dama.css" rel="stylesheet">
</head>
<body>
<section id="seccion1">
<p id="tituloJuego">Damas en HTML</p>
<table class="tabla">
<tr class="fila">
<td id="00" class="columna" onclick="presionCasilla('00')"></td>
<td id="01" class="columna" onclick="presionCasilla('01')"></td>
<td id="02" class="columna" onclick="presionCasilla('02')"></td>
<td id="03" class="columna" onclick="presionCasilla('03')"></td>
<td id="04" class="columna" onclick="presionCasilla('04')"></td>
<td id="05" class="columna" onclick="presionCasilla('05')"></td>
<td id="06" class="columna" onclick="presionCasilla('06')"></td>
<td id="07" class="columna" onclick="presionCasilla('07')"></td>
</tr>
<tr class="fila">
<td id="10" class="columna" onclick="presionCasilla('10')"></td>
<td id="11" class="columna" onclick="presionCasilla('11')"></td>
<td id="12" class="columna" onclick="presionCasilla('12')"></td>
<td id="13" class="columna" onclick="presionCasilla('13')"></td>
<td id="14" class="columna" onclick="presionCasilla('14')"></td>
<td id="15" class="columna" onclick="presionCasilla('15')"></td>
<td id="16" class="columna" onclick="presionCasilla('16')"></td>
<td id="17" class="columna" onclick="presionCasilla('17')"></td>
</tr>
<tr class="fila">
<td id="20" class="columna" onclick="presionCasilla('20')"></td>
<td id="21" class="columna" onclick="presionCasilla('21')"></td>
<td id="22" class="columna" onclick="presionCasilla('22')"></td>
<td id="23" class="columna" onclick="presionCasilla('23')"></td>
<td id="24" class="columna" onclick="presionCasilla('24')"></td>
<td id="25" class="columna" onclick="presionCasilla('25')"></td>
<td id="26" class="columna" onclick="presionCasilla('26')"></td>
<td id="27" class="columna" onclick="presionCasilla('27')"></td>
</tr>
<tr class="fila">
<td id="30" class="columna" onclick="presionCasilla('30')"></td>
<td id="31" class="columna" onclick="presionCasilla('31')"></td>
<td id="32" class="columna" onclick="presionCasilla('32')"></td>
<td id="33" class="columna" onclick="presionCasilla('33')"></td>
<td id="34" class="columna" onclick="presionCasilla('34')"></td>
<td id="35" class="columna" onclick="presionCasilla('35')"></td>
<td id="36" class="columna" onclick="presionCasilla('36')"></td>
<td id="37" class="columna" onclick="presionCasilla('37')"></td>
</tr>
<tr class="fila">
<td id="40" class="columna" onclick="presionCasilla('40')"></td>
<td id="41" class="columna" onclick="presionCasilla('41')"></td>
<td id="42" class="columna" onclick="presionCasilla('42')"></td>
<td id="43" class="columna" onclick="presionCasilla('43')"></td>
<td id="44" class="columna" onclick="presionCasilla('44')"></td>
<td id="45" class="columna" onclick="presionCasilla('45')"></td>
<td id="46" class="columna" onclick="presionCasilla('46')"></td>
<td id="47" class="columna" onclick="presionCasilla('47')"></td>
</tr>
<tr class="fila">
<td id="50" class="columna" onclick="presionCasilla('50')"></td>
<td id="51" class="columna" onclick="presionCasilla('51')"></td>
<td id="52" class="columna" onclick="presionCasilla('52')"></td>
<td id="53" class="columna" onclick="presionCasilla('53')"></td>
<td id="54" class="columna" onclick="presionCasilla('54')"></td>
<td id="55" class="columna" onclick="presionCasilla('55')"></td>
<td id="56" class="columna" onclick="presionCasilla('56')"></td>
<td id="57" class="columna" onclick="presionCasilla('57')"></td>
</tr>
<tr class="fila">
<td id="60" class="columna" onclick="presionCasilla('60')"></td>
<td id="61" class="columna" onclick="presionCasilla('61')"></td>
<td id="62" class="columna" onclick="presionCasilla('62')"></td>
<td id="63" class="columna" onclick="presionCasilla('63')"></td>
<td id="64" class="columna" onclick="presionCasilla('64')"></td>
<td id="65" class="columna" onclick="presionCasilla('65')"></td>
<td id="66" class="columna" onclick="presionCasilla('66')"></td>
<td id="67" class="columna" onclick="presionCasilla('67')"></td>
</tr>
<tr class="fila">
<td id="70" class="columna" onclick="presionCasilla('70')"></td>
<td id="71" class="columna" onclick="presionCasilla('71')"></td>
<td id="72" class="columna" onclick="presionCasilla('72')"></td>
<td id="73" class="columna" onclick="presionCasilla('73')"></td>
<td id="74" class="columna" onclick="presionCasilla('74')"></td>
<td id="75" class="columna" onclick="presionCasilla('75')"></td>
<td id="76" class="columna" onclick="presionCasilla('76')"></td>
<td id="77" class="columna" onclick="presionCasilla('77')"></td>
</tr>
</table>
<section id="seccion11">
<form id="formulario1">
<p id="tituloConf">Ingrese el nombre de los jugadores, y el color de ficha</p>
<input type="text" name="camp1" id="camp1" class="campos" value="" autofocus> =
<select class="selectores" id="selector1">
<option value="colFichaRoj1">Rojo</option>
<option value="colFichaAzu1">Azul</option>
</select>
<input type="text" name="camp2" id="camp2" class="campos" value=""> =
<select class="selectores" id="selector2">
<option value="colFichaRoj2">Rojo</option>
<option value="colFichaAzu2">Azul</option>
</select>
<input type="button" value="Jugar" id="btnBoton" onclick="iniciarJuego('')">
<p id="resultado"></p>
</form>
</section>
</section>
</body>
<script src="dama.js"></script>
</html>
\ No newline at end of file
//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;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment