From UBC Wiki


Authors: Carly Huang, Stephanie Chan, Faiz Yunus

What is the problem?

Implement the classic Microsoft minesweeper game. The one-player game will initially be implemented so that the game starts with the same 5 x 5 board each round.

What is the something extra?

Implement the game so that each round of the game will start with a different board.

What did we learn from doing this?

Logic programming is especially suited to implementing Minesweeper's game logic, since it can do this while being less verbose and more abstract than non-functional alternative languages. At the same time, there is a limitation to the scalability of a Haskell implementation; the Haskell Platform seems to only allow output that is a maximum of 1024 characters, so implementing minesweeper for larger boards is not possible without first overcoming this restriction. Furthermore, while Haskell is well-suited to implementing the game logic, it is not the ideal language for creating user interfaces, so another language might be favored if creating a very aesthetic UI is a priority.