Gniggle
A GTK-based networkable Boggle clone. Which I havn't written yet.
Features
- Flexible grid (you can have 3x3 or 4x4 or 6x12, or any x by y dimension.
- Networkable - has a seperate server that lets many Gniggle clients connect and compete.
- Playable stand alone - you don't need to have a server if you just want to play with yourself.
Implementation Notes
- Will use standard /usr/dict/words (or another such file that the user provides)
- Automatically discount words from this list that don't match the rules (see below)
- Load the dictionary into a bucketed hash table such that once the dictionary is loaded it is quick to search
- Internally, words are stored sans U when following a Q. The U is stripped when a dictionary is loaded into memory. The front end has to deal with stripping any U a user might input.
Words from the dictionary that qualify
- Word is made entirely of lower-case letters (gets rid of proper nouns)
- If word contains a Q, it is immediately followed by a U.
- Word is 3 or more characters long
- Word does not contain a hyphen