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.