Giter Club home page Giter Club logo

starfield's Introduction

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.pptx 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.

Steps to completing this assignment

  1. Fork this repository
  2. First, finish the NormalParticle class. It will need the following members:
  • 5 data members: 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 draw() 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 Particle. 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

Erika
Christine
Oliver
Mina
Gigi
Thomas
Luis
Teresa
Annie
Michel
Eric
Jingbin
Sasha
Calvin
Alex

starfield's People

Contributors

simart avatar vewhite avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.