Overview
A Java Swing application that estimates by Monte Carlo simulation how many turns a Game of the Goose takes, validates the estimate against an exact analytical solver, and plays it out on an isometric board.
The game is a pure race decided by dice: a token moves around a numbered board and lands on squares that throw it forward or hold it back: the geese, the bridge, the inn, the well, the maze, death. Asking how long a game lasts could be answered exactly, as a Markov chain. The application answers it the other way, by playing the game thousands of times with random dice and averaging what happens, which is the point of the practice: the estimate is only trustworthy if the exact solver agrees with it.
The board is drawn in isometric 2.5D so a single run can be watched square by square, rather than only summarised in the statistics panel.
Project 7 of 7 for the Advanced Algorithms course at the Universitat de les Illes Balears, the one on Monte Carlo simulation.
javamonte-carlosimulation