Esta 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.. 😛 si no me crees intenta ganarle. xD
Captura de Pantalla:
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. =)
hola¡¡
muy bueno tu programa, podrian proporcionarme el juego del gato pero utilizando hilos??
se los agradeceria mucho, mi correo monis_28@hotmail.com
Hola a a todos necesito el codigo en java del juego el gato y el raton es donde lo gatos tratan d atrapar al raton es en un tablero de 8×8
Hola atrabajado con el golden t game… apenas me lo presentaron y me gustaría aplicarlo con el minimáx
hola, me gustaria saber como implementar este codigo en j2me, urgente gracias,,
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??
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
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
para insertar un jlabel dentro de otro solo le tienen que dar clic derecho al jframe y le dan diseño nulo
hola ingenieros quiero saber que gana netbeans con dar su ide gratuitamente cual seria su negocio
q tetos yo quiero estratejia no vavosadas diganme es para ganarme 2000000300063220
yo lo tengo en vb, pero me gustaria saber como lo hago creado en midlet con java
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
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
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
ayudamee para hacerel juego del gato en visual basic pliiiiiiiissssssss ya me desespereee!
alguien
me puede ayudar para hacerlo en un diagrama de flujo
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
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
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….
EL JUEGO QUE HICISTE ESTA MUY INTERESANTE PERO SABES NOSE COMO HACER QUE COMPILE
<3
:O o.O 🙂 🙁 😛 :/
🙂 hola soy ana
La aplicación está bien comprensible man…. es perfecto para aprender a programar un juego entre adversarios, podemos aprender haciendo pero tambien viendo …… Good! 😀
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
Ya me parece que muchos presentara este michi…
Buen aporte, ahora lo probare, justo lo q necesitaba, gracias por el aporte
hey holax
necesitohacer un gato (tic tc toe, o 3 en raya) en visual basic vrsion 2008
alguien ke m pueda ayudar
alguien me podria ayudar hacer un tres raya en visual.net
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.
hola!! de casualidad la tecnica que usaste para este juego es de backtracking?????
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
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»);
}
como, puedo hacer que las estadisticas las escriba bien el archibo txt?
me podrias enviar el algoritmo , pseudocodigo y el codigo por favor es para un trabajo
Hola, tengo una duda como puedo hacer? que las estadisticas funcionen, ya que cundo le gano nunca me la anota
Oye que bien, me sirve de mucho justo necesitaba algo como esto gracias
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
quisiera saber como hacer los recorridos de un arbol en java por fa me ppuedes ayudar
Hola me gustaria saber que función heurística utilizaste en el algortimo minimax para hacer la evaluación de los nodos mas prometedores.