games.pinball
Class Box

java.lang.Object
  extended by vooga.gameEngine.game.GameRelatedObject
      extended by vooga.gameEngine.item.GameItem
          extended by vooga.physicsEngine.PhysicalItem
              extended by games.pinball.Box
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<Renderable>, Collidable<PhysicalItem>, Renderable, Tangible

public class Box
extends PhysicalItem
implements Collidable<PhysicalItem>

A box obstacle. Collision with the box will cause the box to spin, and the ball to bounce off, and score to be incremented.

Author:
Sami Boghos
See Also:
Serialized Form

Field Summary
(package private)  Pinball myPinball
           
 
Fields inherited from class vooga.physicsEngine.PhysicalItem
parameters
 
Constructor Summary
Box(double width, double height, Pinball pinball, double Elasticity)
          Constructs a new Box as a Rectangle with the given height and width The mass of the box is set to MAX_VALUE, and the Moment of inertia is set to 1000 in order to make the box stay in position, but spin around its centroid when it is collided with.
 
Method Summary
 void collide(PhysicalItem otherObject)
          This method is called whenever an object of the specified type has collided with this object.
 
Methods inherited from class vooga.physicsEngine.PhysicalItem
applyAngularImpulse, applyImpulse, getPhysicsOn, setConstantForce, setPhysicsOn, setPosition, setPosition
 
Methods inherited from class vooga.gameEngine.item.GameItem
compareTo, getPosition, getRotation, getShape, getSize, getTexture, isVisible, move, resize, rotate, setPosition, setRotation, setSize, setVisibility
 
Methods inherited from class vooga.gameEngine.game.GameRelatedObject
addEventListener, clearListeners, equals, fire, fire, fire, getEventListeners, getID, getListenerCount, removeEventListener
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface vooga.gameEngine.item.Renderable
getTexture, isVisible, setVisibility
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface vooga.gameEngine.item.Tangible
getPosition, getRotation, getShape, getSize, move, resize, rotate, setPosition, setRotation, setSize
 

Field Detail

myPinball

Pinball myPinball
Constructor Detail

Box

public Box(double width,
           double height,
           Pinball pinball,
           double Elasticity)
Constructs a new Box as a Rectangle with the given height and width The mass of the box is set to MAX_VALUE, and the Moment of inertia is set to 1000 in order to make the box stay in position, but spin around its centroid when it is collided with.

Parameters:
width - the width of the Barrier to create
height - the height of the Barrier to create
pinball - Pinball object
Elasticity - the Elasticity of the obstacle, can be set to greater than 1 to give the ball a boost when it bounces off of it
Method Detail

collide

public void collide(PhysicalItem otherObject)
Description copied from interface: Collidable
This method is called whenever an object of the specified type has collided with this object.

Specified by:
collide in interface Collidable<PhysicalItem>
Parameters:
otherObject - that has collided with this object