Tsunami Puzzle Solver
Platform: Windows (Console)
Languages/API's: C (Borland C++ Builder)
The Tsunami Puzzle Solver is an application for discovering solutions to Tsunami puzzles (AKA. Nonograms, Griddlers, Hanjie, Picross) that are often found in puzzle magazines and videogames such as Logic Pro and Picross.
This project was developed as coursework for the C programming module of my BTEC National Diploma in Computer Studies in 2002.
Despite being extremely ambitious within the context of my studies and my personal experience at the time, the project was completed successfully within the 12-week deadline earning a distinction grade and contributing a great deal to my learning experience with the C language, as well as programming and algorithms in general.
Background of Tsunami Puzzles
The objective of a Tsunami puzzle is to uncover a hidden image by filling in the correct grid squares as indicated by the number clues around the edge of the puzzle, where each number represents a block of "filled-in" squares in that particular row or column. Where multiple numbers are given, each block of "filled-in" squares occurs in the same order as the numbers given, each separated by one or more unfilled squares . Puzzles may vary in size and complexity.
For a full background of the Tsunami Puzzle, see the Wikipedia article Nonogram
Tsunami Puzzle Solver is a console based Windows application featuring a character-based mouse driven graphical user interface with menus, windows, buttons, lists, etc. The GUI interface was developed from scratch and was designed to resemble early character-based DOS applications such as the MS DOS Editor, the QBASIC IDE and the early versions of Borland Turbo C++ IDE.
The Tsunami Puzzle Solver allows users to fill in the numeric clues of the puzzle, from which the program will then find the puzzle solution. The solution can either be shown on the screen, or exported to a plain text or HTML file. The HTML version consists of a table, using different background colours to represent filled and unfilled cells, enabling solution pictures to be perceived more easily.
Despite it's name, the Tsunami Puzzle Solver may also be played as a video game implementation of the Tsunami Puzzle concept. The user can create new puzzles to play simply by drawing the desired picture in an empty grid.
Other features include statistics tracking that determine and rate the difficulty of each puzzle, as well as customisation of the user interface colours used in the application.