-
Project: Asteroids!
The class project is an Asteroids game, as created by Dan Leyzberg and Art Simon.
Download the zipped file
asteroids_151103.zip.
To get the program running:
1. Create a new project in Eclipse.
2. Create a new package in your project called asteroids.
3. Drag the 4 .java files in the unzipped asteroids_151103 folder onto the package
asteroids in Eclipse.
4. Run Asteroids.java.
Detailed instructions are listed with the milestones below.
Overview
An second overview (written by
the original authors, Dan Leyzberg and Art Simon) of the whole project is here.
Milestone 1: Write the method to draw a Polygon. Test your method by drawing one (or more) on the screen. Updated detailed instructions. Done in class Nov. 3.
Milestone 2: Make space ship appear on the screen. Updated detailed instructions. Due Mon. Nov. 9.
Milestone 3: Make space ship move in a straight line and turn. You don't need to add
in zero-gravity effects. Updated detailed instructions. KeyListener demo code: Asteroids.java and Test.java Due Mon. Nov. 16.
Milestone 4: Create an Asteroid class. Create an array of moving asteroids. Updated detailed instructions. Due Mon. Nov. 23.
Milestone 5: Check for collisions between the ship and asteroids. Updated detailed instructions. Due Mon. Nov. 30.
Milestone 6: Add in three additional features (see below). Due Mon. Dec. 7.
In class code review: Thurs. Dec. 10. You must pass the code review to pass the project. You can re-try two times (3 tries total).
Possible features to add: (basic instructions for many of them are in the overview)
- Spaceship fires a bullet when a key is pressed.
- Test for bullets hitting asteroids, and make them disappear when hit.
- Add stars in the background.
- Add in zero-gravity acceleration effect.
- Make the large asteroids split into smaller asteroids when they are hit.
- Add a timer, and end the game if the player fails to destroy all the asteroids before the time runs out.
- Keep score.
- Anything else you can think of!
Extra credit will be given for any additional features beyond the required ones.