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--incomplete methods that have no body. When your class extends an abstract
class, you typically 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 this repository.
- Uncomment the
extends floater
on Line 10 - Complete the 10 abstract
set
andget
functions - Write the
Spaceship
constructor. Make sure you initialize all 9 of the inheritedprotected
member variables. You may find slides #1 - 58 on the Asteroids PowerPoint and the SpaceShip design worksheet helpful. You may also find this sample SpaceShip program helpful in understanding how theprotected Floater
variables affect the SpaceShip's movement. - At the top of your program, declare a variable of type
SpaceShip
- Initialize the
SpaceShip
as 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
keyPressed
that 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
Star
class that creates a random number of stars in random positions - Note that for full credit, you MUST include instructions on how to operate your SpaceShip in the
index.html
file - 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.
Elston
Melody
Victor
Thomas
Francisco
Simon
Lin
Skylar
Hannah
Linda
Thomas
Kiara
Justin
Alex
Sida
Nicole
Tiger
Dmitry
Raymond
Steven
Shaye
Megan
Thien
Terrance
Melanie
Brian
Theo
Brian
Steven
Lawrence
Anya
Aliya
Simon
Chris
Howard
Helen
Daniel
Rebecca
Marvin
Esther
Reesa
Matthew
Kaki
Brian
Leif
Edmond
Brandon
Emily
Tian Lun
Jamila
Jimmy
Noah
Martin
Amy
Evan
Kevin
Jeremy
Jacky
Eric
Brandi
Alexander
Justin
This assignment was selected as a "Nifty CS Assignment" in 2008 by Nick Parlante @ Stanford