Quiero codificar un juego de mesa cuyo nombre es Okey y sobre todo popular en Turquía. http://en.wikipedia.org/wiki/Okey
Pero tengo algunos problemas con la IA.
Firmemente déjame explicarte el juego ...
El juego es jugado por 4 jugadores.
En este juego hay 106 fichas, 2 de ellas son bromistas falsos. Otros 104 azulejos se dividen en 4 colores, generalmente verde, negro, azul y rojo. Todos los colores tienen dos juegos de fichas. Un conjunto contiene 13 fichas que se numeran secuencialmente del 1 al 13.
Cada jugador comienza 14 fichas (una es la inicial 15 y comienza primero) y lanza una de las fichas más no deseadas al siguiente jugador. El siguiente jugador puede obtener este mosaico o puede obtener otro mosaico de la pila en el medio de la mesa. El juego se jugó en sentido antihorario.
El objetivo de este juego es encontrar la secuencia válida de 14 fichas tan pronto como sea posible. El jugador puede alinear fichas por números secuenciales en el mismo color hasta 13. Para el ejemplo Verde 1, Verde 2, Verde 3. Aquí hay una excepción, 1 puede seguirse a 13. Por ejemplo, Rojo 12, Rojo 13 y Rojo 1 es un conjunto válido Pero Red 13, Red 1 y Red 2 no son válidos.
O el jugador puede alinear fichas por colores en el mismo número. Por ejemplo, Verde 1, Negro 1, Rojo 1, Azul 1.
Cada conjunto debe tener 3 o más mosaicos para ser válido y cada uno de estos conjuntos se denomina "Por". Menos de 3 fichas no es válido para el acabado. Un conjunto de acabado válido puede ser así. G: Verde, B: Azul, R: Rojo, BL: Negro G1 | G2 | G3 B2 | R2 | BL2 R9 | R10 | R11 | R12 BL13 | R13 | G13
Lo último, al comenzar el juego, se selecciona un mosaico para determinar el comodín (okey). Por ejemplo, si selecciona Azul 3; Blue 4 será un comodín (okey) y el jugador puede usar este mosaico en lugar de cualquier mosaico que el jugador necesite para ganar o completar un conjunto (por).
Por supuesto, estas reglas son reglas generales y se resumen para explicar la pregunta. Si puede leer inglés, puede consultar este enlace para obtener más información http://tr.wikipedia.org/wiki/Okey o página traducida por Google Translate http://translate.google.com/translate?js=n&prev=_t&hl= es & ie = UTF-8 & layout = 2 & eotf = 1 & sl = tr & tl = es & u = http: //tr.wikipedia.org/wiki/Okey
Entonces, ¿qué algoritmo de IA que puedo usar? Busqué la teoría minimax y la poda alfa beta. Pero estas teorías son generalmente sobre el juego de 2 jugadores como el ajedrez o el tic-tac-toe.
La pregunta original está en stackoverflow: /programming/4419628/creating-a-board-game-ai
fuente
Respuestas:
Si intercambias fichas por cartas, la descripción del juego suena increíblemente similar al juego de cartas Gin Rummy. Es posible que pueda encontrar algunos recursos de IA directos al buscar en contra de eso.
Una opción para AI que es independiente del número de jugadores y puede usarse para crear diferentes personalidades de AI:
A continuación, puede controlar la dificultad no siempre seleccionando la opción mejor calificada. Como cuanto menor es el puntaje, peor es la decisión.
fuente