Technical Details

Development Tools

Unless stated otherwise, all programs were developed using Borland C++ 3.1 and Windows API calls.

Fathom It! Software Components

The Fathom It! program consists of:

 The graphical Windows application.

 The board database. Contains thousands of valid Fathom It! boards, sorted by board size and difficulty level.

 The on-line automatic solver. A rule-based, expert system capable of solving every board in the database. The solver is called when the user requests a hint.

Off-line Auxiliary Programs

Fathom It!'s board database file contains thousands of boards. In addition to being graded into levels of difficulty, each board is guaranteed to have a unique solution. To ensure this, boards are pre-generated, checked, tested and graded off-line, before being included in the board database. To perform this work, several off-line DOS programs were written:

 Off-line board generator. Written as a DOS application, this generates a valid Fathom It! board by legally placing all ships on an empty board. This results in a specific set of row and column tallies. On the average, there are about 1500 distinct ways to place all the ships on a 10x10 board that will result in the identical row and column tallies. The generator program guarantees a unique solution for the board by providing the minimal number of 'starting-off' hints to ensure a single solution.

 Off-line board solver. A DOS application that accepts a board with a unique solution, and attempts to solve the board using its rule-based expert system. Based on the rules used to solve the board, the board is rated as easy, intermediate, hard or expert. The on-line automatic solver uses the identical source code as the off-line version.

 Off-line database creation program. Processing the output of the off-line board solver, this program creates the boards database file. Originally written as a DOS application, it was later converted to a Win32 console app (to handle the large in-memory requirements).

Other Shareware Software Products Used

 The help authoring system used was the shareware product Visual Help (v2.1i) by WinWare Inc.

See Also

Interesting Statistics about Fathom It!