ECE 291 FINAL PROJECT
This is the home page of our Final Project
for ECE 291
ECE 291 .... Its not just an adventure... Its a job
DIAMONDS

This is a remake of the classic MAC game Diamonds.
The object of the game is to clear all destroyable blocks on the level.
A ball will move up and down and will be controlled by left and right keys.
There are differnt types of blocks and rules for breaking them.
MEMBERS:
Team Leader: Ram Gudavalli
-Game Design, Game play
Jack Chow: Game Play,
Graphics programming
John Eakes: Sound Programmer;
create sound samples
For more information
Email: sc-chow@uiuc.edu

The object of the game Diamonds
is to clear all the 'Diamond Blocks' from the game level by means of a
bouncing ball which can be moved left and right. Before you can clear the
Diamond blocks however, you must remove all the normal colored blocks first.
To remove a particular color block, you must activate it's control block
which allows the ball to remove any block of that color. There is no Control
Block for the White Blocks therefore you must get all the White blocks
first. There are also door block which can only be removed after you get
a key from a Key Block. Types of Blocks Red, Blue, Green, Yellow and White
Color Blocks. Red, Blue, and Green Control Blocks. Key Blocks -- allows
you to open Door Blocks. Door Blocks -- prevents passage until you get
a Key. Death Blocks -- you lose one life if you touch this block. Permanent
Blocks -- These can't be removed. ReverseBlocks -- These blocks make the
left key move right and the right key move left. And they reverse this
behavior also.
Movement: Your remote control
ball always bounces up and down off of things. You can only control when
it goes right and left. So if you want it to go into a hole to the right,
wait until it is lined up with the hole and press right. On extended keyboards
there are two ways to control the ball - the left and right keys on the
keypad and the left and right keys on the arrow pad. Pressing left or right
of these buttons will move the ball correspondingly. Scoring Color Blocks
- 3 points Diamond Block - 100 points Key Block - 25 points Door Block
- 50 points Bonus - Starts at 2500, moves down 100 points every 1 second
Every 5000 points you get a "1-up" or free life. Data Structures
LevelArray -- An array of 45 levels where each level contains 8x10 bytes
indicating all the blocks on that level. BlocksArray -- An 8x10 array containing
the block layout for the current level being played. ScoresArray -- An
array of 10 elements each containing 5 bytes where the first 3 bytes are
a player's initials and the last 2 bytes represents their high score. BlockGraphics
-- A file containing all the different types of blocks. Each block will
be 12x6 pixels. Video Graphics Like MP4, we will be using a ScreenBuffer
variable to hold the graphics screen while we are still drawing to it and
then
transfer the entire data straight
to the video ram. This will allow us to reduce the amount of screen flicker.
We will need the following segments:
ScreenBuffer: A 'virtual' screen that holds images
as they are created.
ScratchPad: A temporary buffer used to hold PCX
image data during decoding
GameBuffer: A buffer used exclusively to hold
the uncompressed main game screen graphics image
Breakdown of Work The overall design was done mainly by Ram
Gudavalli with help from Jack Chow. James Rizzo will be creating the graphics
images and writing the animation routines. John Eakes is responsible for
all the sound/music procedures and samples.

Link
to writeup
This page was created with Netscape Navigator Gold --------Web page created
by John Eakes
This page last updated on December 31, 2000.
Copyright © 1996 Netscape Communications Corporation.
Mozilla is a trademark of Netscape Communications Corporation.