Gato, Tres en raya, Tic tac toe en Java.

Escrito por en General, Java el día 28 de agosto del 2006 137 comentarios



JavaEsta vez he decidido publicar unos de los programas que me dejaron como proyecto en la Universidad, en palabras comunes el programa lo que permite es jugar al Tic tac toe, tres en raya o el gato como lo conocemos por acá.., puedes jugar contra otra persona o contra la máquina, tiene una interfaz de usuario simple y sonidos para hacer más llamativo todo el juego en sí. =)

En tecnisismos, lo que nos pidieron para realizar este programa fue primeramente en la parte visual o de interfaz de usuario:

  • Utilizar eventos para los componentes.
  • Menús, botones, gráficos, etc.

En lo que respecta a la parte programática:

  • Implementar el algoritmo Min-Max para simular la inteligencia artificial de la máquina.
  • Lograrlo mediante el uso de árboles y recursión.

El algoritmo del MiniMax como lo llamabamos es el que nos permite ponerle la inteligencia a la máquina al momento de mover las piezas, entre más grande hagamos el árbol de posibles movimientos, más inteligente será la maquina. En mi caso utilicé el árbol completo entonces es imposible vencer a la máquina en este programa.. :P si no me crees intenta ganarle. xD

Captura de Pantalla:

Gato..

Descarga el programa y el código fuente dando click aquí.

El programa está hecho usando el IDE Netbeans, pero dentro de la carpeta “dist” puedes encontrar el “ejecutable jar”(gato.jar) para correr el programa sin necesidad de tener Netbeans. =)

Espero que a alguien le llegue a servir de algo, cualquier duda o comentario es bien recibido. =)

Etiquetas: , ,

    137 comentarios en “Gato, Tres en raya, Tic tac toe en Java.”

    catalina

    11. oct, 2006

    como puedo aplicar esta tecnica del minimax con el triqui en java, pues he tratado de bajar tu programa y no puedo. te agradeceria y me ayudes enviando el programa a mi correo.

    Francisco I. Leyva

    11. oct, 2006

    Hola, no es necesario que te envie a tu correo el programa, lo bajas directamente de la siguiente dirección:

    http://www.panchosoft.com/archivos/gato.zip

    Para abrirlo sólo tienes que descomprimir este archivo a cualquier carpeta, vas a esa carpeta y buscas dentro de ella la carpeta de nombre “dist” y entras ahí, verás un archivo con nombre “Gato.jar” y solamente tienes que dar doble click en él para ejecutarlo.

    Para ver el código fuente y el uso del minimax puedes buscar en las carpetas “src” y “build” los archivos con extensión “.java”, pero te recomiendo que descargues el IDE Netbeans(www.netbeans.org) y abras el proyecto con él, ya que ahí fue creado.

    Saludos. ;)

    William

    13. nov, 2006

    gracias por la aplicacion que genial esta

    cristian p

    01. dic, 2006

    esta buenismo,con que lo isite jbuilder?

    me gustaria saber como aplicastes los arboles,
    resp porfa a polanquito-1@hotmail.com

    suerte xauu

    LILIANA

    04. dic, 2006

    Hola. me gustaria que me enviaras el diagrama de flujo y el algoritmo. si no es mucho pedir, ya que no se nada de esto y es para un trabajo final. gracias.

    Francisco I. Leyva

    08. dic, 2006

    Hola, bueno diagrama de flujo no tengo, pero el algoritmo lo puedes encontrar fácilmente en Google, sólo poniendo como clave de búsqueda “Algoritmo Minimax”.

    Encontrarás muchas explicaciones, ya que el algoritmo es el mismo en todos los programas que lo implementen.

    En este programa se usa un árbol completo para hacer imposible que la computadora pierda.

    Saludos. =)

    Antonio

    19. ene, 2007

    Está muy bien todo eso que hablan, pero yo programé en un par de horas un tres en raya en el que la máquina era invencible sin tanta historia. Lo que quiero decir es que para que sirve realmente el algoritmo min max.

    Pedro

    20. ene, 2007

    Oye me podria ayudar a hacer un gato para jugar en red con gui
    ya tengo todo solo me falta la plantilla del juego como el tuyo para poder marcar los ganadores solo tengo la conexion y la vista, siquieres te mando el codigo a tu correo.Por favor

    mari

    25. ene, 2007

    hola. conoces algun otro algoritmo para la simular la inteligencia artificial de la maquina?? alguno en el que no tenga q usar arboles!

    mari

    25. ene, 2007

    esta bueno tu blog. espero tu respuesta. GRACIAS!!!

    luis

    12. mar, 2007

    hola, podrias orientarme acerca de el juego de numeros de acomodarlos en orden cuando tienes solo un espacio, del 1 al 5, es para IA. gracias

    Alberthoven

    19. mar, 2007

    Hola. En respuesta a quien programo un 3 en raya invencible en solo 2 horas, ¡enhorabuena, crack!, pero lo salgoritmos de busqueda (“tanta historia”, como tu dices) no solo son utiles sino IMPRESCINDIBLES a ciertos niveles. Piensa en esto: trata de implementar el Go-Moku (algo parecido al 5 en raya, pero en un tablero de 19 x 19) sin emplear un algoritmo de este tipo a ver cuantos años tardas… antes de cansarte y dejarlo.
    Por favor, un respeto a la algoritmica que es lo que posibilita implementar problemas que de otra manera searia impensable.

    carlos

    28. mar, 2007

    hola soy carlos y estoy buscando por la red algun programa de tres en raya para visual basic o similar. Para posteriormente realizar mediante un protocolo ethernet una conexion a un s7-300 (314 ifm)y hacer un tres en raya neumatico.
    me gustaria si me pudieses dar mas imformación sobre el programa….gracias
    un saludo!!!

    Hector

    19. abr, 2007

    Hola oye quisiera saber en que parte del codigo haces el calculo de la funcion estatica y donde le das la profundidad del arbol porfavor te agradeceria que me contestaras a mi correo… blessed_skate@hotmail.com

    Volaverunt

    26. abr, 2007

    Alguien ha programado un ajedrez con minimax ?? Bueno, es que en nuestro proyecto final, nos enfermamos queriendo hacer un ajedrez, pero aun no podemos implementar este metodo, alguien podria enviarme alguna sugerencia por favor ?

    Francisco I. Leyva

    27. abr, 2007

    Hola, lamento no haber respondido antes. =)

    El juego del gato también podría programarse utilizando condiciones y no inteligencia artificial, el beneficio de la IA no es poder hacer a la máquina invencible en el Gato es resolver otro tipo de problemas y situaciones mucho más complejas ,como bien menciona Alberthoven. En la universidad me pidieron que usara ese algoritmo y por eso lo hice así. =)

    Información sobre el algoritmo la pueden encontrar fácilmente en Google pero de preferencia en inglés. =)

    El código del Gato está hecho para generar el árbol de posibilidades completo, por esa razón no se le puede asignar profundidad. De hecho hice al principio un con profundidad de 2 pero por esa misma razón no era perfecto y podías vencer a la máquina.

    Un ajedrez sería super difícil de implementar con este algoritmo, imagina como sería el árbol de las posibilidades de movimiento. Y aunque puedas utilizar técnicas como la poda alfa beta (Google) para no hacer mejores elecciones creo que es algo muy difícil de hacer. x_x

    Mira, encontré esta página donde explican bien como hacerlo, aunque a estas fechas seguramente ya la miraste: :P

    http://www.dcc.uchile.cl/~jegger/memoria/node36.html

    Saludos. =)

    pedro

    02. may, 2007

    hola porfa necesito el codigo en java del tres en raya applet

    william

    17. may, 2007

    hola amigos quisiera que me hiciera llegar algoritmos para hacer juegos en netbeans ya que estoy aprendiendo se lo agraDECERIA INDEPENDENCIA620@HOTMAIL.COM

    monika

    31. may, 2007

    hola!!! poes el programa esta muuuy bien hecho … gracias!!!

    me sirvio mucho !!!!

    Javier

    02. jun, 2007

    Hola, te cuento que tu implementación falla, de manera que si la maquina tiene posibilidad de ganar no lo hace, esto le sucede cuando se le presenta una oprtunidad de ganar en una diagonal.

    ej: sigue esta jugada y te daras cuenta.

    siendo el tableo asi:

    012
    345
    678

    juega estas posiciones. (no importa donde juega la maquina)
    (*) son las posiciones a jugar

    000
    00*
    000

    000
    *00
    000

    000
    000
    00*

    aqui despues de la tercer jugada a la maquina se le presenta la oportunidad de ganar y no lo hace!!!!!

    saludos!!!
    Javier

    Marco

    03. jun, 2007

    como implementar el juego de tres en raya o el gato con el metodo poda alfa-beta

    mauro

    05. jun, 2007

    hola todos el programa de verdad esta muy bueno pero tengo una pregunta, donde se genera el arbol, es que me mandaron hacer el ejercicio y no se como generar el arbol.
    pues el ejercicio q me mandaron hacer no es tan complicado puesto que no tiene q ser con graficos ni nada solo necesito los metodos para poder hacerlo en java.
    te agradezco tu colaboracion y si puedes mandamelo a este mail.
    vegamaur@gmail.com

    mauro

    05. jun, 2007

    y si pudes lo mas pronto posible ya que es para el jueves en la noche
    gracias y disculpa la molestia pero es que esto no lo entiendo muy bien

    LGRodriguez

    14. jun, 2007

    hola todos el programa de verdad esta muy bueno pero tengo una pregunta, como podria hacer el juego del tres en raya pero en codigo de java eclipse…..pues el ejercicio q me mandaron hacer..no tiene q ser con graficos ni nada solo necesito los metodos para poder hacerlo en java eclipse.
    Te agradezco de antemano tu colaboracion…gracias

    josil

    16. jun, 2007

    hola necesitamos de tu ayuda requerimos el codigo fuente del juego del gato en java que no sea grafico osea que fubciones desde simbolo del sistema lo mas sencilo pero que funciones no se si puedas ayudar,

    Francisco I. Leyva

    31. jul, 2007

    Que tal todos =) , el código lo pueden tomar directamente del programa. Las clases importantes están separadas de lo visual, sólo hay que estudiar un poco el código.

    Esteban

    21. ago, 2007

    hola realmente este codigo esta demasiado chiva… buenisimo… mi consulta es que si no tienes uno un poco mas basico… aunque este es 100% comprendible.. creo que me seria de gran ayuda Gracias

    daisy

    12. oct, 2007

    la implementacion esta interesante, me va ayudar mucho para crear un programa diferente, y felicitaciones por tu programa

    lor

    18. oct, 2007

    holaa me gusto tu programa solo q yo necesito hacere un gato con graficos mas sencillos , y que solo aparezca una x y una o, como podria hacerlo?

    «™Antonio ¤ Z.M.®»

    23. oct, 2007

    hola kisiera saber como se implementa el juego del gato en JGrasp pero sin utilzar applet y sin utilizar el arbol solo una matriz y ke lea un archivo .txt donde al estar en blanco se vera asi:
    - – -
    - – -
    - – -

    necesito ke lea el archivo ke tire luego se cierra el archivo y se abre otro y hace la sig. tirada y asi suscesivamente hay un programa ke ve kien gana pero ese no me interesa jajaja por fa ayudaaaa!!

    JEsus..

    23. oct, 2007

    Alguien por favor me podria ayudar a hacer el juego de tetris en java netbeans..?….. si tiene el codigo fuente mucho mejor .. gracias..

    Enrique

    27. oct, 2007

    Buenas , estoy haciendo un gato tridimensional , y bueno la clase ComputadoraIA me ha ayudado bastante , yo no quiero codigo ni mucho menos.

    Solo si me podrias ayudar a empaquetar un .jar para hacer distribucion de mi proyecto , estoy manejando netbeans 5.5.1 y creo es muy parecido al 5.5 , he intentado en una maquina con arquitectura amd64 y lo creo , pero solo lo ejecuta en esa maquina , he leido que la JVM no es la misma para maquinas x86 y amd64, sabes algo de casualidad ?

    Francisco I. Leyva

    28. oct, 2007

    No me ha tocado compilar en máquinas de 64 bits pero la lógica de Java es que el bytecode (nuestro programa) corre en cualquier máquina virtual sea en Windows/Linux/Mac 32/64 Bits.

    Da más detalles del error =)

    marcos

    29. oct, 2007

    una pregunta, me ayudsa a hacer el ta te ti pero con el visual basic, tenes idea de como se hace?

    Enrique

    30. oct, 2007

    En realidad no me marca ningun error , solo que al hacer click en el .JAR no pasa nada.

    Me podrias decir como empaqueste tu ?.

    No escribi gracias en mi primer post asi que lo hago ahora .

    GRACIAS !!

    mario

    06. nov, 2007

    pasenme un juevo en java o eclipse y yo les pasare cono jakear tarejetas de celulares
    lo necesito pronto para presentar como mi projet

    mario

    06. nov, 2007

    tego de todo y para todos porfa mandemen el juego en java o esclipse co en codigo a mi correo
    chau se cuidan

    Puri

    13. nov, 2007

    Buenas:
    Yo, estoy intentando hacer un tres en raya donde se pueda ganar al ordenador, pero no siempre.
    Estoy haciendo los arboles, y utilizando las simetrias, es decir, la primera ficha solo tiene 3 posiciones y asi…
    La cosa es que me parece mucho trabajo, y tal vez halla una forma más fácil de hacerlo.
    Mi arbol tiene una profundidad de 6, para llegar a colocar todas las fichas.
    Con lo cual de colocar esa primera ficha, salen un montón de ociones.
    Si me pudieras decir si voy por el buena camino, te lo agradeceria.
    Muchas gracias.

    Puri

    13. nov, 2007

    Buenas, otra vez.
    He estado mirando tu codigo, y bien, me he aclarado mucho.
    Como yo queria hacer que no siempre gane ,estaba haciendo las opciones para decidir, pero veo que eso es mucho trabajo. y lo haré aleatoriamente o algo.
    Muchas gracias. Me ha servido de mucho tu blog

    Jose Luis

    15. nov, 2007

    Saludos: me gustaria saber como hiciste la funcion de evaluacion ,gracias

    lino

    23. nov, 2007

    felicidades por tu juego me parece muy interesante globalmente pero me gustaria pedirte el favor de explicarme como crear el .jar
    te agradezco que me respondas al correo
    de nuevo felicidades

    Edito

    25. nov, 2007

    Saludos, me hace falta con caracter urgente el codigo de este famoso programa(tic tac toe), si pudieran que sea en java, aunque en cualquier leguaje me gustaria, muchas gracias de antemano.

    Carolina

    28. nov, 2007

    Como puedo ver el codigo del juego

    Carolina

    28. nov, 2007

    hola me gustaria que el cogigo me lo dieras en c++

    Francisco I. Leyva

    28. nov, 2007

    El código fuente está en el archivo .zip.

    No dispongo del código en C++.

    michael

    04. dic, 2007

    hola..
    tienes disponible un modelo de clases para el juego??

    Chavi

    27. dic, 2007

    Mil gracias, caballero.
    A algunos nos has salvado la vida, y a otros estas a punto de salvársela.
    Saludos desde España.

    Francisco I. Leyva

    28. dic, 2007

    Hombre, es un orgullo saber que tanta gente ha descargado mi gato. =)

    Ya me han tocado ver otros juegos que traen como base este juego y es muy muy satisfactorio sinceramente.

    Saludos y gracias.

    ZapataX

    22. ene, 2008

    buenas saludos al autor a todos los demas

    me gustaria que me ayudaran a implementar este juego pero para usarlo en red

    -Adriana

    27. ene, 2008

    Hola, esta bueno el juego, pero me gustaría saber como puedo hacer para aplicarlo para J2ME. Estoy haciendo mi tesis en J2ME, y es un juego en red para celulares.

    Edwin

    24. feb, 2008

    Hola, te felicito por tu programa, es exactamente lo que necesito en este momento para mi proyecto, pero necesito ejecutarlo en JCreator, no en NetBeans (cosas de maestros) y compile todos los archivos .java de la carpeta src y algunos tiran errores y el main no encuntra la clase Gato. me puedes ayudar con este problema?

    estela

    29. feb, 2008

    ummm……lamentablemente no he podido descargar tu super juego…ni por una ni por otra dirección… si puedes arreglarlo te lo agradecería…

    joel

    29. mar, 2008

    Xvr haces bien amigo ahora solo tengo que estudiar los pasos que has hecho .
    gracias brother

    Hector Flores

    20. abr, 2008

    Está genial el prg, te felicito solo tiene la falla que te comentaron en unos comens atras, en el cual la maquina no gana.

    carlex

    25. abr, 2008

    hola francisco megustaria saber como puedo implementar tu codigo de gato en jess para q sea un super sistema experto en el juego d tres en raya

    María Magdalena

    28. abr, 2008

    Hola que tal. Alguien podría ayudarme a conseguir el codigo en java con interfaces graficas El juego del Gato?

    Alexander

    30. abr, 2008

    Hola:
    Le escribo desde Cuba. Estoy haciendo mi tesis sobre el algoritmo minimax, (como aplicarlo a diferentes juegos que se desarrollan en mi universidad) me gustaría que me ayudaran con cualquier bibliografía sobre el tema, si alguien tiene el juego en c++ y me lo pudiera facilitar le estaría muy agradecido.

    Alexander

    30. abr, 2008

    Hola Carolina:

    Si pudiste conseguir el codigo en c++, me lo podrias facilitar.
    Si no es mucha molestia, me lo podrias a mandar a esta direccion:
    asardina@estudiantes.uci.cu

    JESUS

    05. may, 2008

    xevere, causa muchas gracias por los cods

    david

    12. may, 2008

    hola francisco y todos los lectores
    como bien dices en tu comentario sobre el programa, lo realizaste con el arbol completo…
    yo tambien estoy haciendo un trabajo sobre algoritmos MiniMax pero necesito trabajar en una funcion de evaluacion que me permita no recorrer el arbol en toda su profundidad, saben algo de esto?
    especialmente para el juego de los gatos y el raton.

    Raidel

    26. may, 2008

    Yo también estoy trabajando en ese problema, pero ya el arbol de jugadas se hace “un poco” mas grande, pues el tablero es de 8 x 8 y se hace un tanto dificil buscar por todo el arbol de juegos, tal y como dice david, si pudieran darnos alguna idea de la función heuristica que pudieramos usar . . . .

    joel

    31. may, 2008

    oy ya baje todo lo q tienes pero no lo puedo ejecutar o mas bien no se como hacerle. porfa ayudenme

    david

    03. jun, 2008

    hola estoy programando un “Gatos y Raton” con minimax y Alfa – Beta too pero estoy atascado con la misma funcion heuristica, para evaluar las posiciones del juego.
    SInceramente en la web no viene mucha informacion sobre esto, todo muy teorico y baba, pero mas nada,
    agradeceria en el alma a quien me pueda ayudar,
    David

    Raidel

    06. jun, 2008

    weno hasta ahora yo lo ke me hice una funcion ke simplemente me contaba la cantidad de filas por las ke estaban repartidos los gatos, y la separacion de dichas filas, y mientras menos me de dicha función mas fuerte es la posicion en ese tablero, teniendo como resultado asi, ke la mejor posicion posible para los gatos es akella en la ke todos esten en una misma fila, haciendo imposible el paso del raton, pero esto es algo muy chapuzero, así que si se les ocurreo otra idea posteenla

    Jaime david cruz sandoval

    27. jun, 2008

    oye quiero saber como se puede hacer en java un programa que reconozca un texto y lo haga en matriz y me diga cuantas filas y cuantas columans tiene el texto porfa es urgente gracias

    Jose

    27. jul, 2008

    me puedes dar el codigo de funcione con el compilador JCreator Pro

    michael

    06. ago, 2008

    copia las clases que estan en el src y pegalas en una nueva clase del IDE que estés usando.

    Viviana

    09. ago, 2008

    Necesito ayuda, nos dejaron en la universidad hacer un juego parecido al gato, pero mas dificil, entonces para ver si me podria ayudar, gracias

    Pedro

    19. ago, 2008

    Hola, me gustaria que me ayudases. Me baje el juego del gato que implementastes, y me gusta mucho, pero lo que quiero es el juego pero solo para dos jugadores. Quiero quitar la parte de jugar con la computadora, pero al hacerlo me salen muchos fallos.

    Me puedes ayudar?
    Es urgente.

    Gracias

    Pedro

    19. ago, 2008

    Eli

    30. sep, 2008

    gracias

    Pau

    09. oct, 2008

    Hola me gustaria saber como se compila el juego desde Jcreator ya que solo funciona el .jar, cuado se hace directa la compilacion, marca muchos errores, ademas quisiera saber como se implementa con hilos. Si puedieran mandar la solucion a este correo pauly_54@hotmail.com.

    Muchas gracioas.

    yaha

    04. nov, 2008

    quisiera el codigo del juego del gato.Esta bueno.Felicitaciones.

    yaha

    04. nov, 2008

    pablo alfonso gonzalez paez

    25. nov, 2008

    hoola mi estimado francisco lo que pasa esque quiero abrir y puues no puedo abrir el documento o mas biien para poder jugar y quiero pedirte que me mandes por favor la aplicacion porque no digo que no este correcta si no que yo no puedo abrirlo en mi PC pero por si puedes enviermelas este es mi correo sale pkso_10@hotmail.com

    Daniel

    12. dic, 2008

    hola compadre muy buena la aplicacion, pero se podria aplicar este mismo juego a un celular. si se puede como lo ago.

    juan carlos

    21. ene, 2009

    hola jeje yo necesito hacer un programar el juego del gato alguien me podrian decir cual es el codigo porfavor en verdad lo necesito se los agradecere bastante
    si me lo puedes eviar mejor jiji mi correo es jcgodo89@hotmail.com

    yuniel

    04. feb, 2009

    tengo una duda y espero que me lo expliquen, es sobre el algoritmo minimax. Yo entiendo más o menos cómo funciona, pero lo que no entiendo es cómo la máquina logra de todas las posibles jugadas que ella tenga escoger la mejor. Yo he intentado documentarme sobre eso pero no entiendo

    yuniel

    04. feb, 2009

    tengo una duda y espero que me lo expliquen, es sobre el algoritmo minimax. Yo entiendo más o menos cómo funciona, pero lo que no entiendo es cómo la máquina logra de todas las posibles jugadas que ella tenga escoger la mejor. Yo he intentado documentarme sobre eso pero no entiendo. Me corresponde en mi universidad implementar el juego tic tac toe.

    libia

    14. feb, 2009

    HOLA…EN EL JUEGO DE TRES EN RAYA (TRIQUI 3D) 1.cual seria la probalidad de ganar del jugador que comienza?.
    2.establecer una estrategia 100% ganadora del jugador que comienza.

    even perez

    10. mar, 2009

    hola hermano pues te felicito esta extraordinario, justo necesitaba ver algo nuevo pues ya lo vi gracias, y sigan adelante

    luis

    18. mar, 2009

    hola que tal mira estube revisando tu programa y cuando le doy doble click en gato.jar no lo ejecuta solo me abre el winrar para descomprimir las carpetas como le puedo hacer para ejecutarlo sin tener que instalar en IDE Netbeans gracias por la ayuda

    masoli

    19. mar, 2009

    alguien me puede ayudar para que corra mi programa. se los agradeceré

    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import java.net.*;
    import java.applet.*;
    public
    class asd extends Applet implements MouseListener {
    /**
    * White’s current position. The computer is white.
    */
    int white;
    /**
    * Black’s current position. The user is black.
    */
    int black;
    /**
    * The squares in order of importance…
    */
    final static int moves[] = {4, 0, 2, 6, 8, 1, 3, 5, 7};
    /**
    * The winning positions.
    */
    static boolean won[] = new boolean[1 << 9];
    static final int DONE = (1 << 9) – 1;
    static final int OK = 0;
    static final int WIN = 1;
    static final int LOSE = 2;
    static final int STALEMATE = 3;
    /**
    * Mark all positions with these bits set as winning.
    */
    static void isWon(int pos) {
    for (int i = 0 ; i < DONE ; i++) {
    if ((i & pos) == pos) {
    won[i] = true;
    }
    }
    }
    /**
    * Initialize all winning positions.
    */
    static {
    isWon((1 << 0) | (1 << 1) | (1 << 2));
    isWon((1 << 3) | (1 << 4) | (1 << 5));
    isWon((1 << 6) | (1 << 7) | (1 << 8));
    isWon((1 << 0) | (1 << 3) | (1 << 6));
    isWon((1 << 1) | (1 << 4) | (1 << 7));
    isWon((1 << 2) | (1 << 5) | (1 << 8));
    isWon((1 << 0) | (1 << 4) | (1 << 8));
    isWon((1 << 2) | (1 << 4) | (1 << 6));
    }
    /**
    * Compute the best move for white.
    * @return the square to take
    */
    int bestMove(int white, int black) {
    int bestmove = -1;
    loop:
    for (int i = 0 ; i < 9 ; i++) {
    int mw = moves[i];
    if (((white & (1 << mw)) == 0) && ((black & (1 << mw)) == 0)) {
    int pw = white | (1 << mw);
    if (won[pw]) {
    // white wins, take it!
    return mw;
    }
    for (int mb = 0 ; mb < 9 ; mb++) {
    if (((pw & (1 << mb)) == 0) && ((black & (1 << mb)) == 0)) {
    int pb = black | (1 << mb);
    if (won[pb]) {
    // black wins, take another
    continue loop;
    }
    }
    }
    // Neither white nor black can win in one move, this will do.
    if (bestmove == -1) {
    bestmove = mw;
    }
    }
    }
    if (bestmove != -1) {
    return bestmove;
    }
    // No move is totally satisfactory, try the first one that is open
    for (int i = 0 ; i < 9 ; i++) {
    int mw = moves[i];
    if (((white & (1 << mw)) == 0) && ((black & (1 << mw)) == 0)) {
    return mw;
    }
    }
    // No more moves
    return -1;
    }
    /**
    * User move.
    * @return true if legal
    */
    boolean yourMove(int m) {
    if ((m 8)) {
    return false;
    }
    if (((black | white) & (1 << m)) != 0) {
    return false;
    }
    black |= 1 << m;
    return true;
    }
    /**
    * Computer move.
    * @return true if legal
    */
    boolean myMove() {
    if ((black | white) == DONE) {
    return false;
    }
    int best = bestMove(white, black);
    white |= 1 << best;
    return true;
    }
    /**
    * Figure what the status of the game is.
    */
    int status() {
    if (won[white]) {
    return WIN;
    }
    if (won[black]) {
    return LOSE;
    }
    if ((black | white) == DONE) {
    return STALEMATE;
    }
    return OK;
    }
    /**
    * Who goes first in the next game?
    */
    boolean first = true;
    /**
    * The image for white.
    */
    Image notImage;
    /**
    * The image for black.
    */
    Image crossImage;
    /**
    * Initialize the applet. Resize and load images.
    */
    public void init() {
    notImage = getImage(getCodeBase(), “images/not.gif”);
    crossImage = getImage(getCodeBase(), “images/cross.gif”);
    addMouseListener(this);
    }
    public void destroy() {
    removeMouseListener(this);
    }
    /**
    * Paint it.
    */
    public void paint(Graphics g) {
    Dimension d = getSize();
    g.setColor(Color.black);
    int xoff = d.width / 3;
    int yoff = d.height / 3;
    g.drawLine(xoff, 0, xoff, d.height);
    g.drawLine(2*xoff, 0, 2*xoff, d.height);
    g.drawLine(0, yoff, d.width, yoff);
    g.drawLine(0, 2*yoff, d.width, 2*yoff);
    int i = 0;
    for (int r = 0 ; r < 3 ; r++) {
    for (int c = 0 ; c < 3 ; c++, i++) {
    if ((white & (1 << i)) != 0) {
    g.drawImage(notImage, c*xoff + 1, r*yoff + 1, this);
    } else if ((black & (1 << i)) != 0) {
    g.drawImage(crossImage, c*xoff + 1, r*yoff + 1, this);
    }
    }
    }
    }
    /**
    * The user has clicked in the applet. Figure out where
    * and see if a legal move is possible. If it is a legal
    * move, respond with a legal move (if possible).
    */
    public void mouseReleased(MouseEvent e) {
    int x = e.getX();
    int y = e.getY();
    switch (status()) {
    case WIN:
    case LOSE:
    case STALEMATE:
    play(getCodeBase(), “audio/return.au”);
    white = black = 0;
    if (first) {
    white |= 1 << (int)(Math.random() * 9);
    }
    first = !first;
    repaint();
    return;
    }
    // Figure out the row/column
    Dimension d = getSize();
    int c = (x * 3) / d.width;
    int r = (y * 3) / d.height;
    if (yourMove(c + r * 3)) {
    repaint();
    switch (status()) {
    case WIN:
    play(getCodeBase(), “audio/yahoo1.au”);
    break;
    case LOSE:
    play(getCodeBase(), “audio/yahoo2.au”);
    break;
    case STALEMATE:
    break;
    default:
    if (myMove()) {
    repaint();
    switch (status()) {
    case WIN:
    play(getCodeBase(), “audio/yahoo1.au”);
    break;
    case LOSE:
    play(getCodeBase(), “audio/yahoo2.au”);
    break;
    case STALEMATE:
    break;
    default:
    play(getCodeBase(), “audio/ding.au”);
    }
    } else {
    play(getCodeBase(), “audio/beep.au”);
    }
    }
    } else {
    play(getCodeBase(), “audio/beep.au”);
    }
    }
    public void mousePressed(MouseEvent e) {
    }
    public void mouseClicked(MouseEvent e) {
    }
    public void mouseEntered(MouseEvent e) {
    }
    public void mouseExited(MouseEvent e) {
    }
    public String getAppletInfo() {
    return “TicTacToe by Ishfaq Abida”;
    }
    }

    masoli

    19. mar, 2009

    alguien me puede ayudar para que corra mi programa. se los agradeceré o alguien me puede enviar un código que corra.

    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import java.net.*;
    import java.applet.*;
    public
    class asd extends Applet implements MouseListener {
    /**
    * White’s current position. The computer is white.
    */
    int white;
    /**
    * Black’s current position. The user is black.
    */
    int black;
    /**
    * The squares in order of importance…
    */
    final static int moves[] = {4, 0, 2, 6, 8, 1, 3, 5, 7};
    /**
    * The winning positions.
    */
    static boolean won[] = new boolean[1 << 9];
    static final int DONE = (1 << 9) – 1;
    static final int OK = 0;
    static final int WIN = 1;
    static final int LOSE = 2;
    static final int STALEMATE = 3;
    /**
    * Mark all positions with these bits set as winning.
    */
    static void isWon(int pos) {
    for (int i = 0 ; i < DONE ; i++) {
    if ((i & pos) == pos) {
    won[i] = true;
    }
    }
    }
    /**
    * Initialize all winning positions.
    */
    static {
    isWon((1 << 0) | (1 << 1) | (1 << 2));
    isWon((1 << 3) | (1 << 4) | (1 << 5));
    isWon((1 << 6) | (1 << 7) | (1 << 8));
    isWon((1 << 0) | (1 << 3) | (1 << 6));
    isWon((1 << 1) | (1 << 4) | (1 << 7));
    isWon((1 << 2) | (1 << 5) | (1 << 8));
    isWon((1 << 0) | (1 << 4) | (1 << 8));
    isWon((1 << 2) | (1 << 4) | (1 << 6));
    }
    /**
    * Compute the best move for white.
    * @return the square to take
    */
    int bestMove(int white, int black) {
    int bestmove = -1;
    loop:
    for (int i = 0 ; i < 9 ; i++) {
    int mw = moves[i];
    if (((white & (1 << mw)) == 0) && ((black & (1 << mw)) == 0)) {
    int pw = white | (1 << mw);
    if (won[pw]) {
    // white wins, take it!
    return mw;
    }
    for (int mb = 0 ; mb < 9 ; mb++) {
    if (((pw & (1 << mb)) == 0) && ((black & (1 << mb)) == 0)) {
    int pb = black | (1 << mb);
    if (won[pb]) {
    // black wins, take another
    continue loop;
    }
    }
    }
    // Neither white nor black can win in one move, this will do.
    if (bestmove == -1) {
    bestmove = mw;
    }
    }
    }
    if (bestmove != -1) {
    return bestmove;
    }
    // No move is totally satisfactory, try the first one that is open
    for (int i = 0 ; i < 9 ; i++) {
    int mw = moves[i];
    if (((white & (1 << mw)) == 0) && ((black & (1 << mw)) == 0)) {
    return mw;
    }
    }
    // No more moves
    return -1;
    }
    /**
    * User move.
    * @return true if legal
    */
    boolean yourMove(int m) {
    if ((m 8)) {
    return false;
    }
    if (((black | white) & (1 << m)) != 0) {
    return false;
    }
    black |= 1 << m;
    return true;
    }
    /**
    * Computer move.
    * @return true if legal
    */
    boolean myMove() {
    if ((black | white) == DONE) {
    return false;
    }
    int best = bestMove(white, black);
    white |= 1 << best;
    return true;
    }
    /**
    * Figure what the status of the game is.
    */
    int status() {
    if (won[white]) {
    return WIN;
    }
    if (won[black]) {
    return LOSE;
    }
    if ((black | white) == DONE) {
    return STALEMATE;
    }
    return OK;
    }
    /**
    * Who goes first in the next game?
    */
    boolean first = true;
    /**
    * The image for white.
    */
    Image notImage;
    /**
    * The image for black.
    */
    Image crossImage;
    /**
    * Initialize the applet. Resize and load images.
    */
    public void init() {
    notImage = getImage(getCodeBase(), “images/not.gif”);
    crossImage = getImage(getCodeBase(), “images/cross.gif”);
    addMouseListener(this);
    }
    public void destroy() {
    removeMouseListener(this);
    }
    /**
    * Paint it.
    */
    public void paint(Graphics g) {
    Dimension d = getSize();
    g.setColor(Color.black);
    int xoff = d.width / 3;
    int yoff = d.height / 3;
    g.drawLine(xoff, 0, xoff, d.height);
    g.drawLine(2*xoff, 0, 2*xoff, d.height);
    g.drawLine(0, yoff, d.width, yoff);
    g.drawLine(0, 2*yoff, d.width, 2*yoff);
    int i = 0;
    for (int r = 0 ; r < 3 ; r++) {
    for (int c = 0 ; c < 3 ; c++, i++) {
    if ((white & (1 << i)) != 0) {
    g.drawImage(notImage, c*xoff + 1, r*yoff + 1, this);
    } else if ((black & (1 << i)) != 0) {
    g.drawImage(crossImage, c*xoff + 1, r*yoff + 1, this);
    }
    }
    }
    }
    /**
    * The user has clicked in the applet. Figure out where
    * and see if a legal move is possible. If it is a legal
    * move, respond with a legal move (if possible).
    */
    public void mouseReleased(MouseEvent e) {
    int x = e.getX();
    int y = e.getY();
    switch (status()) {
    case WIN:
    case LOSE:
    case STALEMATE:
    play(getCodeBase(), “audio/return.au”);
    white = black = 0;
    if (first) {
    white |= 1 << (int)(Math.random() * 9);
    }
    first = !first;
    repaint();
    return;
    }
    // Figure out the row/column
    Dimension d = getSize();
    int c = (x * 3) / d.width;
    int r = (y * 3) / d.height;
    if (yourMove(c + r * 3)) {
    repaint();
    switch (status()) {
    case WIN:
    play(getCodeBase(), “audio/yahoo1.au”);
    break;
    case LOSE:
    play(getCodeBase(), “audio/yahoo2.au”);
    break;
    case STALEMATE:
    break;
    default:
    if (myMove()) {
    repaint();
    switch (status()) {
    case WIN:
    play(getCodeBase(), “audio/yahoo1.au”);
    break;
    case LOSE:
    play(getCodeBase(), “audio/yahoo2.au”);
    break;
    case STALEMATE:
    break;
    default:
    play(getCodeBase(), “audio/ding.au”);
    }
    } else {
    play(getCodeBase(), “audio/beep.au”);
    }
    }
    } else {
    play(getCodeBase(), “audio/beep.au”);
    }
    }
    public void mousePressed(MouseEvent e) {
    }
    public void mouseClicked(MouseEvent e) {
    }
    public void mouseEntered(MouseEvent e) {
    }
    public void mouseExited(MouseEvent e) {
    }
    public String getAppletInfo() {
    return “TicTacToe by Ishfaq Abida”;
    }
    }

    clanero

    08. may, 2009

    Hola, esta muy bueno este blog…. ahora lo k necesito de k si alguien a implementado el juego de los gatos y el raton o tiene algo parecido me lo envie a eramirezr@estudiantes.uci.cu gracias…..chao…..

    Name (requerido)antonio

    23. may, 2009

    hola soy un amigo de chile y necesito hacer un programa pareceido para la universidad el programa se llama eclipse y tengo k programas un juego que simule un torneo de 4 jugadores con eliminacion directa de el juego del gato si me puedes ayudar seria de mucha ayuda
    gracias de antemano

    Miranda

    27. may, 2009

    Hola , necesito hacer un gato solo que en vez de 3X3 sea 5X5 y se ejecute desde consola no es necesario crear una interfaz grafica!! por favor quien me pueda ayudar a hacer se los agradeceria , mi mail es geli_1989_rbd@hotmail.es

    GRACIAS!

    Name (requerido)ghost

    10. jun, 2009

    por favor alguien tiene el codigo fuente del gato entre el usuario y el pc en bisual basic …….

    Alicia Machado Desnuda

    28. jun, 2009

    hh… strange :)

    Jesus

    12. jul, 2009

    Esta muy bueno tu programa aunque aun no entiendo como esta funcionando el maximo y minimo espero y me des alguna pista de como analizar esta parte el codigo para que me quede todo entendible

    Jan

    09. nov, 2009

    La verdad agradezco mucho tu programa, porq m ayudo mucho. Pero tengo una duda y espero puedas ayudarm, como hago un codigo igual en netbeans para realizar solo los movimientos de un caballo de ajedrez en todo el tablero??? La verdad no tengo ni idea.

    Espero puedas ayudarm y gracias…

    lacc

    22. nov, 2009

    alguien de aki me podri pasar otro gato como ven este ya es muy famoso y ps kisiera encontrar otro para x fa si hay alguno mas me lo pasen x fa

    flanders chino

    01. dic, 2009

    hola =)
    si alguna chica se mete aesta pagina agregeme porfas bay
    las kiero chicas

    martin

    08. dic, 2009

    Oye mi amigo ¿como haces para insertar un jlabel dentro de otro? es decir el f3 dentro de tablero
    Gracias

    daniel

    08. dic, 2009

    hola soy un estudiante de la carrera informatica tengo un proyecto en cual devo realizar un programa, deve de ser un juego grafico sensillo no cuento con ejemplos de codigo fuente te agradeseria si pudieras enviarme oexplicarme como puedo desarrollar graficos y un ejemplo de codigo fuente sensillo,grasias

    atte. danihcvivo

    daniel

    08. dic, 2009

    se me olvido el correo
    danihcvivo@hotmail.com

    SilveR

    09. dic, 2009

    Buneas recontra bueno tu programita del tres en raya , ya que a mi tambien me pidieron en la actualidad hacer un tres en raya , en la cual la maquina sea invencible, ya que si le ganan me bajan puntos :) en nota :S:S:S, me podrias dar unas pautas o dudas que tenga ? aki te dejo mi msn gabino_147@hotmail.com

    3l_2ra2

    18. dic, 2009

    Me parece muy interesante el tema, solo que quisiera saber si la interfaz del juego que se publica la brinda el mismo IDE Net Beans o es hecha con otro programa en especifico. Gracias de antemano

    3l_2ra2

    18. dic, 2009

    Javier ciertamente probe lo que dijiste y me convenci de que el programa tiene un error

    Anuki

    16. ene, 2010

    Yo necesito que alguien me pase el codigo en java de hundir la flota con un solo barco. Gracias

    Barbara

    17. ene, 2010

    Hola me gustaria saber que función heurística utilizaste en el algortimo minimax para hacer la evaluación de los nodos mas prometedores.

    Albita

    16. mar, 2010

    quisiera saber como hacer los recorridos de un arbol en java por fa me ppuedes ayudar

    Sergio Rodriguez

    20. mar, 2010

    hola, he mirado tu algoritmo y valla que es demasiado bueno…me ha impresionado jeje…bueno resulta que tengo un proyecto… pero no se como implementarlo…lo que pasa es que necesito que el maximizador o el primero que juega que es uno solo pueda jugar una ves…y de hay en adelante juegue la maquina contra la maquina…aparte de eso sacar el arbol de posibles trayectorias antes de escoger una….lo de las trayectorias yo las puedo implementar pero me gustaria si me puedes hacer el favor de apsarme el algoritmo de maquina vs maquina despues de una jugada por parte del usuario…y si pueideras con comentarios explicado…te lo agrade ceria muchisimo. gracias de antemano

    Chivis

    26. mar, 2010

    Oye que bien, me sirve de mucho justo necesitaba algo como esto gracias

    Hector hung

    29. mar, 2010

    Hola, tengo una duda como puedo hacer? que las estadisticas funcionen, ya que cundo le gano nunca me la anota

    fredy

    09. abr, 2010

    me podrias enviar el algoritmo , pseudocodigo y el codigo por favor es para un trabajo

    chocobomix

    12. abr, 2010

    como, puedo hacer que las estadisticas las escriba bien el archibo txt?

    Valeria

    15. abr, 2010

    Como paso un programa de lenguaje c a vb6.0? alguien me puede ayudar??….ya lo intente y no me sale…=S…
    … esto tengo que entregarlo el lunes…=S….
    Alguien puede ayudarme??

    /*Busqueda del primero en profundidad*/
    #include “stdio.h”
    #define MAX 100

    /*Estructura de la base de datos vuelos */
    struct VL {
    char desde [20];
    char hacia [20];
    int distancia;
    char visitado; /*usado en el retroseguimiento*/
    } ;

    struct VL vuelos [MAX]; /* array de estructuras de la bd*/

    int pos_ult=0; /*numero de entradas en la bd vuelos*/
    int encuentra_pos=0;/*indice de busqueda en la bd vuelos*/

    int cabeza_pila=0; /*cabeza de la pila */
    struct pila {
    char desde [20];
    char hacia [20];
    int dist;
    };
    struct pila pila_rt[MAX]; /*pila de vuelta atras*/

    main ()
    {
    char desde[20], hacia[20];

    inicia();

    printf (“desde? “);
    gets (desde);
    printf (“hacia? “);
    gets (hacia);
    }

    inicia ()

    {
    declara_vuelo (“Nueva York”,”Chicago”, 1000);
    declara_vuelo (“Chicago”,”Denver”,1000);
    declara_vuelo (“Nueva York”,”Toronto”, 800);
    declara_vuelo (“Nueva York”,”Denver”, 1900);
    declara_vuelo (“Toronto”,”Calgary”, 1500);
    declara_vuelo (“Toronto”,”Los Angeles”, 1800);
    declara_vuelo (“Toronto”,”Chicago”, 500);
    declara_vuelo (“Denver”,”Urbana”, 1000);
    declara_vuelo (“Denver”,”Houston”, 1500);
    declara_vuelo (“Houston”,”Los Angeles”, 1500);
    declara_vuelo (“Denver”,”Los Angeles”, 1000);
    }

    /*colocacion de datos dentro de la bd vuelos*/
    declara_vuelo (desde,hacia,dist)
    char *desde,*hacia;
    int dist;
    {

    if (pos_ult<MAX) {
    strcpy(vuelos [pos_ult].desde,desde);
    strcpy(vuelos [pos_ult].hacia,hacia);
    vuelos[pos_ult].distancia=dist;
    vuelos[pos_ult].visitado=0;
    }
    else printf ("Base de datos Vuelos llena. \n");
    }

    /*muestra la ruta y la distancia */
    ruta (hacia)
    char *hacia;
    {
    int dist, t;
    dist=0;
    t=D;
    while (t0) {
    /*vuelta atras*/
    saca_pila (desde,hacia,&dist);
    hay_vuelo (desde,hacia);
    }
    }

    /*rutina de pila*/
    mete_pila (desde,hacia,dist)
    char *desde, *hacia;
    int dist;
    {
    if(cabeza_pila 0) {
    cabeza_pila–;
    strcpy (desde, pila_rt[cabeza_pila].desde);
    strcpy (hacia, pila_rt[cabeza_pila].hacia);
    *dist=pila_rt[cabeza_pila].dist;
    }
    else printf (“Pila vacía. \n”);
    }

    Cecilia

    11. jun, 2010

    hola!! de casualidad la tecnica que usaste para este juego es de backtracking?????

    Aaron

    01. jul, 2010

    jejeje.
    Minimax :p
    Como se menciono bastantes veces.
    El backtracking es un metodo de busqueda para problemas de satisfaccion de restricciones, pero desde el formulamiento del problema se tiene que plantear como un problema satisfacible. En el cual llegaras a un punto donde no es posible satisfacer alguna restriccion y ahi es donde entra el backtrackin, regresando pasos y tomando otro camino para ser si logra el objetivo.

    karen

    03. sep, 2010

    alguien me podria ayudar hacer un tres raya en visual.net

    denny

    22. oct, 2010

    hey holax
    necesitohacer un gato (tic tc toe, o 3 en raya) en visual basic vrsion 2008
    alguien ke m pueda ayudar

    magyx

    28. oct, 2010

    Buen aporte, ahora lo probare, justo lo q necesitaba, gracias por el aporte

    Ing. Gutierrez

    01. nov, 2010

    Ya me parece que muchos presentara este michi…

    chardo

    05. nov, 2010

    wow son buenos!!!… por casualidad tienen un juego de la tortuga y la liebre!? mi prima lo necesita, y pues yo no tengo idea de como agregar todo eso!!! creen q me pueden facilitar un codigo por lo menos parecido: es merament por cuestiones de estudio!… es para el 15 d nov. Se los agradeceria. De todas formas gracias esto d porsi fue util!!! mi correo es : gerardo.erazo@yahoo.com

    sangustino

    05. nov, 2010

    La aplicación está bien comprensible man…. es perfecto para aprender a programar un juego entre adversarios, podemos aprender haciendo pero tambien viendo …… Good! :D

    ana

    09. dic, 2010

    :) hola soy ana

    Nombre (requerido)

    09. dic, 2010

    :O o.O :) :( :P :/

    ana

    09. dic, 2010

    <3

    MERI

    27. dic, 2010

    EL JUEGO QUE HICISTE ESTA MUY INTERESANTE PERO SABES NOSE COMO HACER QUE COMPILE

    Carlos

    10. feb, 2011

    Oye tu trabajo me parece muy bien, ojala pudieras decirme como es que en el netbeans lograste colocar un jlabel sobre otro. Te agradeceria mucho..

    Gracias….

    Sergio

    17. feb, 2011

    hola amigo quisiera saber si tu juego se puede aplicar en un celular, la verdad es que no se nada de programación pero lo necesito para un trabajo de la escuela y si se puede modificar no se si me prodrias decir como hacerlo gracias mi correo es aztecawin@hotmail.com

    Alejandrs

    13. mar, 2011

    hola Francisco.. me encanto tu programa del gato ..
    esta genial y me sirvio mucho pa enterder mas de programacion..
    en este momento quisiera pedirte un poco de ayuda con un informacion de graficas de funciones en netbeans… tengo q hacer una tarea de un ejemplo de graficas pero no se como hacerlo y no encuentro ningun ejemplo para hecerlo..
    por fa si puedes hechame una mano con eso ….
    gracias de antemano …
    xD

    alex

    16. mar, 2011

    alguien

    me puede ayudar para hacerlo en un diagrama de flujo

    Patriciaa

    07. abr, 2011

    ayudamee para hacerel juego del gato en visual basic pliiiiiiiissssssss ya me desespereee!

    esther

    19. may, 2011

    hola!!!soy nuevo en programacion de java, con netbeans y eclipse, y necesito urgente ayuda, he estado un mes comiendo la cabeza con el proyecto que decidi hacer, y no me sale!!!snif…se trata de un catalogo (puede ser interactivo o no) en java con eclipse o netbeans, y nose que hacer, estoy deseperado, si alguien me puede ayudar, o enviarme algun link de alguna pagina con algun ejemplo que se le parezca a mi aplicacion o algo, se lo agradece eternamente!!!
    muchas gracias!!!
    un saludo

    mery

    23. may, 2011

    Hola necesitaria que me pasaras el codigo del tetris en eclipse o bluej para ver como lo has programado ya que hace unas semanas pense en aprender a programar en Java y pense en un tetris ya que el jueog me gusta bastante. Gracias mery_623@hotmail.com

    esther

    25. may, 2011

    Hola!!!soy esther,de nuevo jejejeje.
    porfis,necesito ayuda urgente, sigo sin encontrar nada, y sin salirme nada del proyecto(k es peor aun)si podeis ayudar enviarme informacion o algo a mi correo trabajoyjuego@hotmail.com,
    muchisimas gracias!!!
    bss

    holkman

    10. jun, 2011

    yo lo tengo en vb, pero me gustaria saber como lo hago creado en midlet con java

    lui

    13. jun, 2011

    q tetos yo quiero estratejia no vavosadas diganme es para ganarme 2000000300063220

    cristpher

    14. ago, 2011

    hola ingenieros quiero saber que gana netbeans con dar su ide gratuitamente cual seria su negocio

    santiago

    15. ago, 2011

    para insertar un jlabel dentro de otro solo le tienen que dar clic derecho al jframe y le dan diseño nulo

    robeto

    25. nov, 2011

    Hola que tal disculpa la molestia….. no se si me podrias decir dond puedo modificar el arbol para que no lo realize completo……. espero me puedas responder y si no es molestia lo mas pronto posible porfavor…. y muchas grax

    daniel

    07. dic, 2011

    hola alguien me podria ayudar a crear un programa en bluej class matrices
    sobre 3 en raya porfa necesito presentarlo para dar un examen final

    fernando andrade

    24. nov, 2012

    me preguntaba si me puede ayudar a realizar el juego,, pero en el programa llamado lpp
    apenas estoy empezanso en esto de la programacion… de antemano mucha gracias..
    ha y si me puedieran explicar algo de matricez majicas??

    Navarro

    24. nov, 2012

    hola, me gustaria saber como implementar este codigo en j2me, urgente gracias,,

    kasha

    17. abr, 2013

    Hola atrabajado con el golden t game… apenas me lo presentaron y me gustaría aplicarlo con el minimáx

    Deja tu comentario:

    Nombre (requerido)
    Email (requerido)
    Sitio web
     

    ir al inicio inicio