        |
SqueakBoggle
Group Members
Will Turnage
Jeff Walker
Project Description
This will be an implementation in Squeak of the classic board game Boggle.
For those not familiar with Boggle, it is a simple board game with the following pieces:
- a 4x4 grid of squares
- 16, six-sided dice with each side of the dice containing a single letter
- a timer for each round
At the beginning of each round, a dice is randomly rolled and placed in one of the squares on the grid until the entire grid is filled with dice. Then each player tries to find as many words as possible within the face-up letters in the grid. In order for a word to count, it needs to meet the following criteria:
- must be at least three letters long
- must be a valid word in the dictionary. Slang words, abbreviations, contractions, and foreign words are not allowed.
- must be formed beginning with one die and moving around the board to adjacent dice for each subsequent letter in the word. Adjacent means any die that is up, down, left, right or diagonal from the given die.
- must not use any die for more than one letter in any word
Our Basic SqueakBoggle Functionality
The basic functionality of our Boggle game allows one or more players to play a game of Boggle or Big Boggle. One person chooses to host a game, and other players may optionally join the game. Satrting a round shuffles the Boggle dice, then players enter words during the time alloted. When the timer is up, the round ends, and words are automatically scored. Additionally, players can view all valid words on the current board.
Current Progress
Game is in a release version.
To demonstrate the Boggle game within Squeak, load the package and make sure that all of the additional files in the Squeak zip file are in your Squeak directory. These files include a dictionary used to verify words as well as images for each of the letters used in the game.
Once the package is loaded, you can start the game, by doing the following commands in a Workspace:
hostGame:= Game new.
clientGame:= Game new.
hostGame open.
clientGame open.
Possible Enhanced Functionality
- A basic Boggle AI exists to support creation of computer opponents. This could be integrated with Game and GameView to allow player vs computer games.
- Multi-threading and networking the game has created some unusal timing issues that only sporadically occur. While these errors are generally non-repeatable in nature, additional effort could remove these errors and make the game more bullet-proof.
- Single player games are supported, but additional user interface refinement could improve overall playability.
- Tournament mode could be added to support score tracking across multiple rounds.
- In multi-player games, remote list viewing could be added to support viewing of your opponents' lists. Currently, scoring takes these lists into account, but a player cannot see exactly which opponents had which words.
- Support could be added to allow the user to set the board size as well as scoring rules.
Comments:
Code is available from the following links:
SqueakBoggle.zip
BoggleReadMe.txt
Links to this Page
|