Hola, un saludo a todos antes de nada, bueno estoy haciendo un juego de conecta 4. Caen las fichas, cambia de turno y se colocan unas encima de otras.
Hasta ahí bien. Ahora, la parte de comprobar si hay 4 seguidas en horizontal, que he llamado funcion validar, debería hacer lo siguiente;
-En el caso de que la primera sea igual al valor que busca, (por ejemplo, 2 ), busca el siguiente en la tabla( el de la derecha) e incrementa el contador en 1 hasta llegar a 4. Si llega a 4, el jugador gana.
Sin embargo, hay alguna parte de ahí que no me termina de funcionar bien y contador no sube de valor, ¿alguien puede ayudarme? muchas gracias
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Conecta4</title>
<script language="javascript">
var turno=0;
var posicion=new Array;
for(n=0;n<49;n++)
{
posicion[n]=0;
}
function mostrarimagen(num)
{
if (turno==0){
document.images[num].src="Ficha1.gif";}
else{
document.images[num].src="Ficha2.gif";}
}
function quitarimagen(num)
{
document.images[num].src="Fondo.gif";
}
function colocarimagen(num)
{
var a=num+42;
//recorro todas las casillas
if ((posicion[a])==0)
{
if (turno==0)
{
document.images[a].src="Ficha1.gif";
posicion[a]=1;
turno=1;
validar(1);
}
else
{
document.images[a].src="Ficha2.gif";
posicion[a]=2;
turno=0;
validar(2);
}
}
else
{
num-=7;
if (num > -42)colocarimagen(num);
}
}
function validar(num)
{
var cont=0;
for(l=0;l<7;l++)
{
for(j=0;j<7;j++)
{
if (posicion[a]==validar)
{
cont++;
a++;
}
else
{
cont=0;
}
if (cont==4)
alert("Victoria");
}
}
}
</script>
</head>
<body onload="validar(actual,a);">
<h1 align="center">Conecta Cuatro </h1>
<form name="f">
<table align="center">
<tr>
<td><a href="javascript:void colocarimagen(0)"><img src="Fondo.gif" onmouseover="mostrarimagen(0);" onmouseout="quitarimagen(0);"/></a></td>
<td><a href="javascript:void colocarimagen(1)"><img src="Fondo.gif" onmouseover="mostrarimagen(1);" onmouseout="quitarimagen(1);"/></a></td>
<td><a href="javascript:void colocarimagen(2)"><img src="Fondo.gif" onmouseover="mostrarimagen(2);" onmouseout="quitarimagen(2);"/></a></td>
<td><a href="javascript:void colocarimagen(3)"><img src="Fondo.gif" onmouseover="mostrarimagen(3);" onmouseout="quitarimagen(3);"/></a></td>
<td><a href="javascript:void colocarimagen(4)"><img src="Fondo.gif" onmouseover="mostrarimagen(4);" onmouseout="quitarimagen(4);"/></a></td>
<td><a href="javascript:void colocarimagen(5)"><img src="Fondo.gif" onmouseover="mostrarimagen(5);" onmouseout="quitarimagen(5);"/></a></td>
<td><a href="javascript:void colocarimagen(6)"><img src="Fondo.gif" onmouseover="mostrarimagen(6);" onmouseout="quitarimagen(6);"/></a></td>
</tr>
<script language="javascript">
for (r=0;r<6;r++)
{
document.write('<tr>')
for (c=0;c<7;c++)
{
document.write('<td>')
document.write('<img src="Fondo.gif" />')
document.write('</td>')
}
document.write('</tr>')
}
</script>
</table>
<br />
<input type="text" value="1" name="turno" />
</form>
</body>
</html>
Subo el archivo para que veais las fichas y todo
http://www.4shared.com/zip/f01wVPkg/Conecta-4.html?