Programación General > Java
Juego cruz y raya
m0skit0:
--- Cita de: "SFRJ" ---A ti te funciono moskito?
--- Fin de la cita ---
No lo he probado, pero tu pregunta no necesita que lo pruebe ^_^
--- Cita de: "SFRJ" ---La verdad no entiendo que quieres decir, con lo de jugardas por adelantado.
--- Fin de la cita ---
Entonces olvida esa parte y mira lo que te he dicho. Empieza implementando la IA que te he puesto y después se puede ir complicando.
--- Cita de: "SFRJ" ---Tengo bastante complicacion con como hacer para que la maquina sepa que boton elegir cuando el humano a elegido, sin que se repita uno que ya esta cogido.
--- Fin de la cita ---
Como ha dicho el Sabio F_Tanori, con una matriz (de boolean por ejemplo).
Salud y suerte
silverfox:
Hola.
Lo que estás buscando se llama árbol de decisión. En particular, el conocido como árbol minimax.
Búscalo en google y verás bastantes ejemplos de cómo implementarlo.
Los nodos del árbol son los tableros, en la raiz está el tablero actual. Cada jugada posible es una ramificación que generará otro nodo y así sucesivamente.Hay que considerar que cada nivel del árbol es 'media jugada', o sea, que es el turno de un jugador y en el árbol hay que reflejar las jugadas de dos jugadores (es como pensar en el movimiento que hará tu contrario). A partir de ahí, se le da una puntuación a cada tablero, considerando que tú jugarás la mejor de tus opciones y el contrario la mejor de las suyas (si el no lo hace lo mejor posible, peor para él) y se elige el mejor camino con todas las jugadas que se hayan calculado.
Por ejemplo, en las 3 en raya podrías programar todo el arbol completo, por lo que tu juego nunca podría perder, mientras que en ajedrez o en go, el cálculo es muy complejo y no puede hacerse sólo con un árbol.
Hay muchos libros de IA que hablan de este algoritmo, intenta conseguir alguno.
Ya nos contarás.
Suerte.
Navegación
[*] Página Anterior
Ir a la versión completa