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:
- Una demostración de Mahjong (estilo japonés): http://www.nobleflash.com/game/4495/Japanese-Mahjong.html
- http://www.ninedragons.com/ - un juego Mah Jong Solía jugar, su sistema de puntuación: http://www.ninedragons.com/mahjong/scoring2.html
- lenguaje de la función se ajusta mejor ? ¿En qué manera? Is F# a good language for card game AI?
- AI Mahjong - http://www.stanford.edu/class/cs229/proj2009/Loh.pdf
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
No he investigado ninguna implementación de código abierto, no sé si hay alguna. Tal vez debería iniciar una. – Henry
¿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. –