Comp 152 Project 6: Graphics

Due Tuesday May 1st at 11:59pm.  (Note this is reading day)


The high level objectives of this lab are:


You are going to build a graphical game based on a simplified version of the vintage game "Yars Revenge" (note not the sequal on the xbox).

If you've never played the game on one of those retro gaming platforms you can find a couple of screenshots below

image of a remake of vintage Yars Revence                               


You are going to implement a simplfied one level 'yars revenge' like game with the following properties:
What resources may you use:

To make everything completely clear so there is no misunderstandings about this project please feel free to use anything in your book for this project. Please also feel free to use anything from the Java 6 API documentation site. Finally you may use any of the official java tutorials from Oracle  especially the 2d graphics tutorials. Anything else that you wish to use you must get your instructors permission to use (one exception - see extra credit below)

You may use any images for this project that you are legally able to use. For those who want some quick starter images, I've put together a small zip file of images that you might find helpful. All of the image files included are liscenced under the GPL: the short version, you can use them, but you don't own them, and if you ship a product using them you need to give credit and let others use them too.

Extra Credit Possible:

For those of you who would like the chance to earn extra credit here are opportunities to do that:
Extra credit will only count for those who have completed the basic project above. Once you have completed the project above, you may complete any, all or none  of these extra credit items at your

For an extra 50 points: Put sounds into your program. For each of the major events (player shoots, player dies, player kills enemy, shot destroys part of the shield and enemy turns into attack form) a different sound should be played. If you do this don't forget to send the sound files with your submission. For this part, because we have not covered sound in the course, you may use any extra tutorials that you wish for help on this part of the program only!!

For an extra 40 points: In the original game, every even level the shield was static, but on odd levels the chunks of the shield (and the holes when part of the shield was gone) rotated through different positions. For 40 points extra, make your shield use the rotating chunks.

For and extra 60 points: Implement the 'zorlon cannon'. This was a large shot which would sit behind the player ship on the left edge of the screen. The only way to get it was for the player ship to eat/harvest at least on of the shield chunks by running against them. This removes the shield chunk just as if it were shot, but activates the cannon, which follows the player up and down the screen, The cannon shot moves more slowly accross the screen when fired (by a different control than the regular shot) If the cannot shot hits the player, the player dies. If the cannon shot hits a shild chunk. The chunk is destroyed. If the cannon shot hits the enemy ship in normal mode, the enemy is destroyed. If the cannon shot hits the enemy ship in attack mode, the enemy is reset, and the player gets an extra 'life'

Extra Requirements:

You must satisfy the following constraints on your program


When your program is ready, you need to write a readme.txt file that provides me the following information:

When your readme and your code is ready, zip up your files and submit them online as you have done for the recent labs