Skip to content

An AP Computer Science A programming assignment for Mr. Simon's APCSA course at Lowell High School, San Francisco, USA

Notifications You must be signed in to change notification settings

MichaelAPCS/Starfield

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Starfield (with an Oddball and Jumbo)

For this assignment you will make a animation of fireworks. This common animation is called a "starfield" since it can also be used to simulate movement through a field of stars. You may find slides 1 - 131 on OOP--Interfaces, Inheritance & Encapsulation presentation helpful.

Program requirements:

Your program must use three classes to model the particles. A "Normal" particle class, an "Oddball" particle class and a "Jumbo" particle class. All the particles must be stored in a single array using an interface. The Jumbo particle class must use inheritance.

Suggested steps to completing this assignment

  1. Fork this repository
  2. First, finish the NormalParticle class. It will need the following members:
  • 5 member variables: X and Y positions, Color, Angle and Speed. (Hint: use doubles for X, Y, Speed and Angle)
  • NormalParticle(), the class constructor
  • void move(), Takes the cos of the angle times the speed and adds it to the X coordinate. Does the same to Y with the sin of the angle.
  • void show(), draws the particle in the correct color
  1. Now finish the program's setup() and draw()
  2. Add one NormalParticle variable, and make sure you can see it move
  3. Now modify the program so you have an array of NormalParticles.
  4. Run your program and make sure you can see all the particles move.
  5. Finish the Particle interface. It will list two methods:
  • public void show();
  • public void move();
  1. Have your NormalParticle implement the Particle interface.
  2. Add public in front of the move() & show() methods in your NormalParticle class.
  3. Create an OddballParticle class that implements the Particle interface.
  4. Finish the OddballParticle class. It will be similiar to the NormalParticle, but OddballParticles should have different move() and show() methods.
  5. Change your array of NormalParticles to an array of type Particle.
  6. Change the first element in the array to a OddballParticle instead of a NormalParticle
  7. Run your program. Make sure you can see the Oddball.
  8. Now, write a new Jumbo class that extends NormalParticle (or extends OddballParticle). In this class you will only need to override the one method public void show() to draw a larger ellipse.
  9. Change the second element in the array to a Jumbo instead of a normal Particle. Run your program and make sure you can see the Jumbo.
  10. Submit the url of your GitHub webpage via the school loop drop box for the assignment

Extensions: Have a fun and be creative. If you have extra time you may want to modify your program and add extra features. Experiment with different arrangements of particles. Look at student work from the links below for other variations.

Samples of Student Work

Victor
Jing
Wilson
Ryan
Natalie
Sherissa
Bryce
Melinda
Raymond
Emma
Joe
Jennifer
Ravi
Elizabeth
James
Chase
Vincent
Hiroki
Andrew
Christopher
Wilson
Ashton
Cynthia
Lalith
Gordon
Lily
Alex
Jeffrey
Alber
Ryan
Kelvin
Maryann
Jeffrey
Michelle
Benjamin
Ben
Kelly
Linus
Karlee
Trevor
Justin

About

An AP Computer Science A programming assignment for Mr. Simon's APCSA course at Lowell High School, San Francisco, USA

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 98.9%
  • Other 1.1%