Together, we will develop an application called BallWorlds
that simulates "worlds"
that contain various kinds of "balls".
When you run BallWorlds, a window appears like the one to the right. The window contains several "Worlds" -- the picture to the right has 3 Worlds. Each World has two parts:
Remember that Java classes are like reciples for creating objects. When you click on one of the BallButtons, the BallButton uses the class (recipe) to construct an object that is a new instance of the class, and a new ball will appear in the corresponding WorldPanel. How the ball behaves will depend on the class that is used to create it. By defining several different classes, you will be able to create balls of several different types. Each class represents a different kind of ball. Different kinds of balls can behave in different ways.
|
|
As is typical in software development, BallWorlds will be developed by a team:
We will coordinate our work by using this UML class diagram for BallWorlds. In particular, the class diagram specifies how your Ball classes interface with the framework. |
ALL that you need to do to make BallWorlds work correctly is to:
This project is based on ideas from Lynn Andrea Stein's Rethinking CS101 project. |