2010-12-11 17 views
7

Quiero codificar un juego de mesa con el nombre Okey y más popular en Turquía. http://en.wikipedia.org/wiki/OkeyCreación de un juego de mesa AI

Pero tengo algunos problemas con la IA.

Firslty permítanme explicar el juego ..

El juego es jugado por 4 jugadores.

En este juego hay 106 tiles, 2 de ellos son joker falso. Otras 104 fichas se dividen en 4 colores generalmente verdes, negros, azules y rojos. Todos los colores tienen dos juegos de fichas. Un juego ise contiene 13 fichas numeradas secuencialmente de 1 a 13.

Cada jugador comienza 14 fichas (una es inicio 15 y comienza primero) y arroja una de las fichas más indeseadas al siguiente jugador. El siguiente jugador puede obtener esta ficha o puede obtener otra ficha de la pila en el medio de la tabla. El juego se juega en sentido antihorario.

El objetivo de este juego es encontrar la secuencia válida de 14 fichas lo antes posible. El jugador puede alinear las baldosas por números secuenciales del mismo color hasta 13. Por ejemplo Verde 1, Verde 2, Verde 3. Hay una excepción aquí, 1 puede seguir a 13. Por ejemplo Rojo 12, Rojo 13 y Rojo 1 es un conjunto válido Pero Red 13, Rojo 1 y Rojo 2 no es válido.

O el jugador puede alinear las 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 fichas para ser válido y cada uno de estos conjuntos debe denominarse "Por". Menos de 3 fichas no son válidas para el acabado. Un conjunto de acabado válido puede ser así. V: verde, B: azul, R: Rojo, BL: Negro G1 | G2 | G3 B2 | R2 | BL2 R9 | R10 | R11 | R12 BL13 | R13 | G13

última cosa, cuando se inicia el juego una mosaico seleccionado para determinar joker (okey). Por ejemplo, si selecciona Azul 3; Blue 4 será bromista (okey) y el jugador puede usar esta ficha en lugar de cualquier ficha que ese jugador necesite para ganar o completar un set (por).

Por supuesto, estas reglas son generales y se resumen para explicar la pregunta. Si usted puede leer turco, se puede extraer this link para obtener más información o su translated version cortesía de Google Traducir

Entonces, ¿qué algoritmo de AI que puedo usar? He buscado la teoría del minimax y la poda alfa beta. Pero estas teorías son generalmente de 2 jugadores, como ajedrez o tic-tac-toe.

Respuesta

0

Puede usar max^n o Algoritmos paranoicos.

Look at this book

+0

Gracias por su respuesta. Miré el capítulo. Como triste Max^n o paranoico es muy adecuado para juegos multijugador. Pero no pude encontrar ningún artículo excepto académicos. Estoy tratando de encontrar un mejor ejemplo de algoritmo. –

+1

Eso definitivamente funcionará (escribí el artículo vinculado). También vería el UCT multijugador: http://web.cs.du.edu/~sturtevant/papers/mpuct_icga.pdf –

1

un comienzo fácil se puede hacer usando un algoritmo de Monte Carlo. Solo necesitas generar movimientos aleatoriamente.

Luego, para cada movimiento siguiente, juega muchos juegos al azar y elige el movimiento que te hizo ganar la mayoría de ellos.

Es fácil de implementar y puede estar a la par con algoritmos más complicados. He hecho esto para Nine Men's Morris y MC era casi tan fuerte como alpha-beta (principalmente ambos jugaban igual hasta que el algoritmo MC cometió un error, lo que hará tarde o temprano).

Eche un vistazo a this article en el método Monte Carlo para jugar Go.