HoverSim Design
From Hovercraft
Contents |
Introduction
This design refers to the core classes of the HoverSim API.
TimeKeeper
Keeps track of navigation time score.
- float time
- update(elapsed)
Adds 60 seconds to time
- bumpedIntoWall()
CraftComponent
Base class for all craft components.
- CraftComponent parent
Relative properties:
- Vector2 position
- float orientation
- Vector2 velocity
Absolute properties:
- Vector2 absPosition
- float absOrientation
- Vector2 absVelocity
Recalculate absolute properties using the parent as a reference.
- recalcAbsoluteProperties()
HoverCraft(CraftComponent)
Base class for hovercraft vehicles. Assumes a circular shape.
- Vector2 thrust
- float weight
- float radius
- __init__(weight, radius)
Calculates new position, velocity and orientation. Performs collision detection.
- update(elapsed)
Sensor(CraftComponent)
Base class for sensor components
- read()
LightSensor(Sensor)
Implements a light sensor with the specified range.
- __init__(range)
- read()
Fan(CraftComponent)
- thrust()
Controller
Called each frame to control the hovercraft. This should be overriden.
- update(craft, elapsed)