Página 1 de 1

Gato o Tres en Raya by Linkgl

Publicado: 08 Mar 2010, 04:36
por linkgl
He hecho este programita mientras ando sin poder moverme con el yeso de la pierna haha y sin wifi, lo hize en javascript, cualquiera puede probarlo, tiene muy poca IA pero pss aver si se la aumento para que tenga dificultad, es un tres en raya hecho en javascript por mi, pruebenlo lo guardan como .html o .htm y anda

Código: Seleccionar todo

<html>
<head>
<script type="text/javascript" language="javascript">
/*****************
* Tres en raya
* By linkgl
*****************/
var turno=0;
function x(i)
{
  if(turno==0)
  {
    if(document.getElementById(i).innerHTML!="X" && document.getElementById(i).innerHTML!="O")
    {
      document.getElementById(i).innerHTML="X";
      ganar("X");
      turno=1;
      computadora();
    }
    else
    {
      alert("No puede colocar la X ahí");
    }
  }
}

function computadora()
{
  if(turno==1)
  {
    var a=rand();
    if(document.getElementById(a).innerHTML!="X" && document.getElementById(a).innerHTML!="O")
    {
      document.getElementById(a).innerHTML="O";
      ganar("O");
      turno=0;
    }
    else
    {
      computadora();
    }   
  }
}

function rand()
{
  var num
  num=Math.floor(Math.random()*10)
  if(num!=0)
  {
    return num;
  }
  else
  {
    rand();
  }
}

function ganar(x)
{
  //verticales
  for(i=1;i<7;i++)
  {
    if(document.getElementById(i).innerHTML==x && document.getElementById(i+3).innerHTML==x && document.getElementById(i+6).innerHTML==x)
    {
      alert("Se acabo!");
      reset();
    }
  }
  //horizontales
  for(o=1;o<10;o++)
  {
    if(document.getElementById(o).innerHTML==x && document.getElementById(o+1).innerHTML==x && document.getElementById(o+2).innerHTML==x)
    {
      alert("Se acabo!");
      reset();
    }
    o=o+2;
  }
  //diagonales
  if(document.getElementById('1').innerHTML==x && document.getElementById('5').innerHTML==x && document.getElementById('9').innerHTML==x)
  {
    alert("Se acabo!");
    reset();
  }
  if(document.getElementById('3').innerHTML==x && document.getElementById('5').innerHTML==x && document.getElementById('7').innerHTML==x)
  {
    alert("Se acabo!");
    reset();
  }

}

function reset()
{
  location.reload();
}
</script>
</head>
<body>
<div id="global" style="width:160px">
<div id="1" onClick="x(1)" style="border: #000 1px solid; height:50px;width:50px;float:left">-</div>
<div id="2" onClick="x(2)" style="border: #000 1px solid; height:50px;width:50px;float:left">-</div>
<div id="3" onClick="x(3)" style="border: #000 1px solid; height:50px;width:50px;float:left">-</div>

<div id="4" onClick="x(4)" style="border: #000 1px solid; height:50px;width:50px;float:left">-</div>
<div id="5" onClick="x(5)" style="border: #000 1px solid; height:50px;width:50px;float:left">-</div>
<div id="6" onClick="x(6)" style="border: #000 1px solid; height:50px;width:50px;float:left">-</div>

<div id="7" onClick="x(7)" style="border: #000 1px solid; height:50px;width:50px;float:left">-</div>
<div id="8" onClick="x(8)" style="border: #000 1px solid; height:50px;width:50px;float:left">-</div>
<div id="9" onClick="x(9)" style="border: #000 1px solid; height:50px;width:50px;float:left">-</div>
</body>
</html>

Re: Gato o Tres en Raya by Linkgl

Publicado: 08 Mar 2010, 06:47
por tk68
Muy bueno, me recuerda mis tiempos de JavaScript con DHTML y DOM, tenía su curre.


Re: Gato o Tres en Raya by Linkgl

Publicado: 09 Mar 2010, 13:50
por ps1c0s1s
Gracias perra ;)

Re: Gato o Tres en Raya by Linkgl

Publicado: 09 Mar 2010, 21:04
por rdnmlln
linkgl escribió:... tiene muy poca IA pero pss aver si se la aumento para que tenga dificultad...
Muy bueno, pero seguro que esa poca IA es mil veces superior que la de Homer
[Enlace externo eliminado para invitados]

Linkgl, Crack!!

En cuanto a la escayola... por lo menos no te ha pillado en plenas vacaciones de verano sino si que sería una jodienda

Saludos!

Re: Gato o Tres en Raya by Linkgl

Publicado: 10 Mar 2010, 14:44
por linkgl
Haha, gracias por los comentarios, el video de homer me mato de risa hahaha, dejen que me recupere y que vuelva mi wifi para no estar pidiendo prestado el banda ancha, y les posteo cosas que si sean interesantes! salu2!

Re: Gato o Tres en Raya by Linkgl

Publicado: 16 Mar 2010, 06:10
por oriol414
impresionante, ya lo probé, solo un bug, aveces, si la primera que pones es la del medio no tira.

Re: Gato o Tres en Raya by Linkgl

Publicado: 16 Mar 2010, 16:37
por linkgl
oriol414 escribió:impresionante, ya lo probé, solo un bug, aveces, si la primera que pones es la del medio no tira.
Ups, es cierto, el error esta en la linea:
if(document.getElementById(i).innerHTML==x && document.getElementById(i+3).innerHTML==x && document.getElementById(i+6).innerHTML==x)
xD la operación no cuadra cuando colocas en los ultimos cuadros, voy a tener que separar esa parte de +6 en otra condicional, gracias por avisar

Re: Gato o Tres en Raya by Linkgl

Publicado: 18 Mar 2010, 01:14
por D3F4C3-M4N
Es el mismo X 0 verdad? jejeje perdon aqui la cosa es diferente muy buen aporte

Re: Gato o Tres en Raya by Linkgl

Publicado: 18 Mar 2010, 02:28
por linkgl
slandg escribió:Es el mismo X 0 verdad? jejeje perdon aqui la cosa es diferente muy buen aporte
Así es, solo da click en el cuadro y debería ponerse el O o X respectivamente