In this assignment we will start to replicate the old video game Asteroids. You will write a program that has a space ship that can be controlled with the keyboard. You will need to write a SpaceShip class. Your SpaceShip class will extend the Floater class, an abstract class that represents all things that float in space.
An abstract class is an "incomplete" class. It has abstract methods--methods that have no body. When your class extends an abstract class, you must write the methods that are needed to "complete" the class. Note: To complete this assignment you will be writing two classes SpaceShip and Star. Do not modify the Floater class.
- Fork and clone down the AsteroidsGame repository.
- Uncomment the
extends floateron Line 10 - Complete the 10 abstract
setandgetfunctions - Write the
Spaceshipconstructor. Make sure you initialize all 9 of the inheritedprotectedmember variables. You may find the Asteroids PowerPoint slides to be helpful. You may also find this sample SpaceShip program to be helpful in understanding how the variables affect the SpaceShip's movement. - At the top of your program, declare a variable of type
SpaceShip - Initialize the
SpaceShipas a new instance of the class - In
draw()call the SpaceShip'sshow()function - When you are happy with appearance of the SpaceShip, add a
public void keyPressed()function to your program - Write code in
keyPressedthat allows you to control the space ship with the keyboard. You must include the ability to rotate left, rotate right, accelerate, and enter "hyperspace." (There is no requirement for any fancy visual effects, hyperspace just needs to stop the ship, and give it a new random position and direction.) - Add code to
draw()tomove()the Spaceship - Finally, add a
Starclass that creates a random number of stars in random positions - If you have extra time and are looking for a challenge, you might try to add an animation of "rockets" that appear from the back of the ship when you accelerate
These steps are only a suggestion. Your Asteroids game doesn't have to work or act like any other. Have fun and be creative.
Rebecca
Vivian
Erika
Lucy
Zachary
Antonio
Eric
Kirby
Averal
Lily
Calvin
Kenta
Thomas
Jeffrey
Aaron
Philip
David
Jessica
Chris