2010-11-01 16 views
5

Mahjong es uno de los juegos más populares en Asia (no el estilo de solitario que se encuentra en Windows 7). ¡Hubo muchos juegos de Mahjong, incluidos los en línea de Yahoo o fuera de línea en los días de DOS!¿Cómo implementar un juego de Mahjong?

Un día más estaba pensando: ¿cómo puedo escribir uno (excluyendo la GUI)?

La parte del modelado de datos es fácil.

Las reglas ganadoras y de puntuación son ... ¿coinciden con los patrones?

La parte más estratégica del juego, como determinar qué ficha lanzar y cuándo realizar los movimientos de Chow o Pong, es la parte más difícil. ¿Cómo implementar esto?

Gracias!

Investigación:

+0

Suena como un proyecto interesante. ¿Has investigado alguna implementación de código abierto para ver cómo lo hicieron? http://www.google.com/search?q=open+source+mahjong – David

+0

No he investigado ninguna implementación de código abierto, no sé si hay alguna. Tal vez debería iniciar una. – Henry

+0

¿Puedes usar un enfoque similar a un solucionador de Sudoku? usando retroceso, etc. Aquí hay veinte solucionadores de Sudoku (en Haskell) http://www.haskell.org/haskellwiki/Sudoku. Los enfoques pueden ayudarlo en su búsqueda de algoritmos para resolver otros juegos/acertijos. –

Respuesta

1

Leer este

http://homepage.mac.com/s_lott/books/python/html/p05/p05c05_mahjongg.html

Podría ayudar.

"determinar qué azulejo desechar" es bastante sencillo. Dado los descartes y la naturaleza de la mano, definir una mano "lista" es una cuestión de determinar qué conjuntos potenciales tienen la mayor cantidad de fichas disponibles (no descartadas, no en juego).

Cada azulejo pertenece a uno de varios patrones posibles (par, hasta 3 chows, pung, kong). Es fácil calcular las fichas requeridas para completar el patrón. Es fácil reducir los recuentos de posibles fichas en función de lo que se juega y lo que está expuesto. Los patrones posibles resultantes se pueden clasificar. Los descartes se seleccionan de las combinaciones más difíciles de llenar.

[Ver este http://www.amazon.com/Mah-Jong-Handbook-Play-Score/dp/0804838747]

+0

Gracias, pero quiero algo más que esto ... – Henry

+0

@Henry: "Gracias, pero quiero algo más que esto". Por favor ** actualice ** su pregunta para definir lo que quiere decir con "más". –

+0

Este enlace es pesado en el modelo de datos, pero un poco débil en el/parte estratégica de inteligencia, que es la parte más difícil – Henry

Cuestiones relacionadas