01 - Jogo da Velha

Codigo.

<!--ATMUN - WWW.ATMUN.COM-->

<script language="LiveScript">

                        step = 0;

                         diff=3;

         function clear_all(form) {

                                    step = 0;

                                    for (i=0;i<9; ++i) {

                                                position="a"+i;

                                                form[position].value="";

                                    }

                         }

         function clickit(field) {

                         if (step == -1) {alert("Aperte reiniciar e jogue novamente!"); return;}

         position=field.name.substring(1,2,1);

         position = 'a'+position;

                         if (field.form[position].value !="") {alert("Escolha outro campo!"); return;}

         field.form[position].value="X";

         if (eval_pos(field.form)) {

                                    field.form.output.value="Você GANHOU!!!";

                                    step = -1;

                                    return;

                         }

         position=get_move(field.form);

         field.form.output.value='I moved to ' + position.substring(1,2,1);

                         if (position=="") {

                                    field.form.output.value="Não houve Ganhador.";

                                    step = -1;

                                    return;

                         }

         field.form[position].value="O";

         if (eval_pos(field.form)) {

                                    field.form.output.value="Você perdeu...";

                                    step = -1;

                         }

         }

         function eval_pos(form) {

                         if ((form.a0.value!="" &&

                                    form.a0.value==form.a3.value && form.a0.value==form.a6.value)||

                            (form.a0.value!=""

                                    && form.a0.value==form.a1.value && form.a0.value==form.a2.value) ||

                            (form.a0.value!=""

                                    && form.a0.value==form.a4.value && form.a0.value==form.a8.value) ||

                            (form.a1.value!=""

                                    && form.a1.value==form.a4.value && form.a1.value==form.a7.value) ||

                            (form.a2.value!=""

                                    && form.a2.value==form.a5.value && form.a2.value==form.a8.value) ||

                            (form.a2.value!=""

                                    && form.a2.value==form.a4.value && form.a2.value==form.a6.value) ||

                            (form.a3.value!=""

                                    && form.a3.value==form.a4.value && form.a3.value==form.a5.value) ||

                            (form.a6.value!=""

                                    && form.a6.value==form.a7.value && form.a6.value==form.a8.value))

                                    return true;

                         else     

            return false;

         }

                         function f(a) {

                         if (a == "") return "."; else return a;

                         }

         function comp_move(form,player,weight,depth) {

             var cost;

                                    var bestcost=-2;

                                    var position;

 

                                   var newplayer;

 

                                   if (player=="X") newplayer="O"; else newplayer="X";

 

                                   if (depth==diff) return 0;

 

                                   if (eval_pos(form)) return 1;

 

                                   for (var i=0; i<9; ++i) {

 

                                               position='a'+i;

 

                                               if (form[position].value != "")

 

                                                           continue;

 

                                               form[position].value=player;

 

                                               cost = comp_move(form,newplayer, -weight, depth+1);

 

                                               if (cost > bestcost) {

 

                                                           bestcost=cost;

 

                                                           if (cost==1) i=9;

 

                                               }

 

                                               form[position].value="";

 

                                   }

 

                                   if (bestcost==-2) bestcost=0;

 

                                   return(-bestcost);

 

                        }

 

 

        function get_move(form) {

 

                                   var cost;

 

                                   var bestcost=-2;

 

                                   bestmove="";

 

 

                                   if (step++ == 0)

 

                                               if (form.a4.value=="")

 

                                                           return "a4";

 

                                               else

 

                                               if (form.a0.value=="")

 

                                                           return "a0";

 

 

 

                                   for (var i=0; i<9; ++i) {

 

                                               localposition='a'+i;

 

                                               if (form[localposition].value != "")

 

                                                           continue;

 

                                               form[localposition].value="O";

 

                                               cost=comp_move(form,"X", -1, 0);

 

                                               if (cost > bestcost) {

 

                                                           if (cost==1) i=9;

 

                                                           bestmove=localposition;

 

                                                           bestcost=cost;

 

                                               }

 

                                               form[localposition].value="";

 

                                   }

 

                                   return bestmove;

 

        }

 

 

        function complain(field) {

 

                                   field.form.output.focus();

 

                                   alert("Clique no botão ao Lado");

 

        }

 

      </script>

 <form>

  <div align="center">

  <center>

  <p>

  <input type="text" size="1" name="a0" > <input type="button" name="b0" > <input type="text" size="1" name="a1" > <input type="button" name="b1" > <input type="text" size="1" name="a2" > <input type="button" name="b2" > <br>

  <input type="text" size="1" name="a3" > <input type="button" name="b3" > <input type="text" size="1" name="a4" > <input type="button" name="b4" > <input type="text" size="1" name="a5" > <input type="button" name="b5" > <br>

  <input type="text" size="1" name="a6" > <input type="button" name="b6" > <input type="text" size="1" name="a7" > <input type="button" name="b7" > <input type="text" size="1" name="a8" > <input type="button" name="b8" > <br><br>

  <font size="3" face="Arial, arial">Status do Jogo: <input type="text" size="20" name="output"><br>

  Nível de Dificuldade: <select name="difficulty" size="1" >

    <option value="1"> Muito Fácil </option>

    <option value="2"> Fácil </option>

    <option selected value="3"> Médio </option>

    <option value="4"> Difícil </option>

  </select>

  </font>

  </p>

  </center>

  </div>

   <center>

  <p>

  <font size="3" face="Comic Sans MS, arial">

  <input type="button" value="Clique aqui para o PC Jogar Primeiro" >

  </font>

  </p>

  </center>

  </div>

  <center>

<p>

<font size="3" face="Comic Sans MS, arial">

<input type="reset" value="Reiniciar" >

</font>

</p>

</center>

</div>

</form>