Boggle is a popular word-finding game, trademarked by Parker Brothers, in which the object is to find as many words as possible on a board of letters in a three-minute time limit. The original Boggle board is a four-by-four arrangement of sixteen letters. Words are found by tracing a connected chain among them, at least three letters long. Each letter must be adjancent to the next one horizontally, vertically, or diagonally. Each letter can be used only once in a single word. For example:
┌───┬───┬───┬───┐ │ W │ V │ N │ C │ ├───┼───┼───┼───┤ │ Z │ A │ D │ F │ ├───┼───┼───┼───┤ │ H │ L │ S │ R │ ├───┼───┼───┼───┤ │ O │ T │ X │ A │ └───┴───┴───┴───┘
The above sample board includes words like HOT, LAW and SALT. SLAT would not be a valid word, because the A is not adjacent to the T. SALAD also would not be valid, because you cannot reuse the A twice in a single word. Likewise, WALL would not be valid because you cannot use the single L twice in a row. (Reusing letter in different words is encouraged, however, so finding the word HALT should immediately suggest the word HALTS as well.)
Another popular configuration of the game is a five-by-five configuration of twenty-five letters. The larger size is offset by increasing the minimum word size to four letters. Note that longer words score more points. The rule is 1 point for words of 3 or 4 letters long, 2 points for 5-letter words, and 3 points for 6-letter words. 7-letter words score 5 points, however, and anything longer than 7 letters scores a full 11 points. Note that "Qu" is a special case: the letter pair appears together as a single position, but it is still counted as two letters for the purposes of scoring.
The original game is played with two or more people, with the rule that each person only counts the words that they found that weren't found by anybody else. Because this program is a solitaire game, you score points for every word you find. The computer will automatically reject words that are not valid, and at the end of the game will display the remaining words that were in the dictionary that were not found. (Although note that this behavior can be controlled via command-line options.)
In order to play the game, you must first create a dictionary for the game to use. Any wordlist file, or collection of wordlists, can be used. The program will automatically ignore words that are capitalized, contain illegal characters such as apostrophes and hyphens, or have a Q without a U. Once it is built, it will be the list of valid words for future games. Wordlists with various levels of completeness (and inclusion of obscure and archaic terms) can be found online. Alternatively, at the top of the page is a link to a (relatively large) pre-built dictionary that you can use directly.
April 2013: version 1.2
November 1999: version 1.1
April 1999: version 1.0
January 1999: version 0.9