Gareth Antle, Abel Waller
What is the problem?
We will be implementing classic minesweeper in Haskell, with a working graphical UI that can take multiple forms of mouse input.
What is the something extra?
We would like to implement at least one of the following:
- A board that scales to an arbitrary size, with an arbitrary number of mines both selected by the user
- A board which is randomly populated with mines, according to a user specified difficulty
- A limit to the amount of time or the number of moves the player has to solve the game.
What did we learn from doing this?
- The hardest part, initially, was working with external libraries in Haskell. The graphical library we initially chose, GTK, has a large community and a number of detailed installation guides, but they all seemed to be written for older versions of GHC and required their own extensive collection of external C++ libraries.
- Once we scaled down and decided against graphics, the project became more manageable
- Working with Haskell was interesting for minesweeper - many of the things we thought would be difficult turned out to be very easy, and vice versa.
Links to code etc
- Github