A brute force solver for the Mondrago board game
This repository contains two Python scripts:
Mondrago.pygenerates a 329,5 Mb file calledMONDRAGO_DATABASE.py(and the smallerMONDRAGO_STATS.txt, which contains the depth distribution of all Mondrago's positions).Mondrago_Explorer.pymines theMONDRAGO_DATABASE.pyto generate the other files that you can find here.
The outputs of Mondrago_Explorer.py are:
MONDRAGO_INITIAL_POSITIONS.txtcontains all symmetrical positions of Mondrago (i.e. alternative starting positions).MONDRAGO_SAFEST_DRAWS.txtcontains the 56 safe draws of Mondrago (i.e. positions with no losing moves and no winning moves).MONDRAGO_DEEPEST_POSITIONS.txtcontains the 7 deepest forced wins (i.e. first player wins in 75 plies with perfect play).MONDRAGO_PUZZLES_XXX.txtcontains positions with a single winning move, no draw moves and, at least, 19 losing moves. EASY means depth=3, NORMAL means depth=5, DIFFICULT means depth=7 and VERY_DIFFICULT means depth=9.