CPS 108, Spring 2001, Bejeweled

Bedazzled, Bejeweled, Bedeviled

The game Bejeweled is in some ways a cross between Tetris and Othello/Reversi. You can access a functional version of the game at the games section of msn.com, a screen capture of the game is shown below.

*

You should use the game at msn.com for details on how the game is played and what the rules are. You're welcome to improve/change the game as your imagination leads you to do; be sure to document the game, how to play it, and how you've changed/improved on what's online.

Program

You should produce an application and an applet that allows the user to play at least one skill-level version of Bejeweled. Your program should have default icons/gifs/jpegs for the the images, but the user should be able to configure the application with a different set of images that will be scaled and used. The applet version doesn't need to be configurable in this way.

The default version should allow the user to play until no moves are possible (this is skill-level 1 in the online version). For extra points, offer hints on possible moves if the user pauses for a long time between clicks (again, same as online version).

The user should be allowed to start a new game at any time and to quit at any time. If the user ends the game (or the game ends itself with no possible moves) statistics regarding the game should be displayed. These statistics include (see the online version for examples).

Embellishments

Allow different skill levels (as with the online game) that involve a count-down timer. The timer should be initially set to two minutes, though this should be configurable. You can allow bonus time to be earned for good plays (as with the online version). You can use more/fewer images as part of the skill levels.

After a timed game the user should be given the option of recording her/his score on a central server from which it should also be possible to retrieve all recorded scores (just the highest score for any registered user). You should design the protocol for communicating with a recording server. The simplest and most complete server will earn bonus points and serve as a class-wide server for recording scores.

Grading

You can earn up to 40 points for this game. Points are shown below. Points are earned as shown for functionality, the same number of points can be earned for documentation/design in each category.
Feature Points
Basic Application 5
Basic Applet 3
Skill-level 2/3 Application 6
Skill-level applet 2
Extras 4

Owen L. Astrachan
Last modified: Wed Feb 14 01:00:58 EST 2001