HoverSim Design
From Hovercraft
(Difference between revisions)
| (4 intermediate revisions not shown) | |||
| Line 2: | Line 2: | ||
This design refers to the core classes of the HoverSim API. | 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= | =CraftComponent= | ||
| + | Base class for all craft components. | ||
| + | |||
* CraftComponent parent | * CraftComponent parent | ||
| - | + | ||
| + | Relative properties: | ||
* Vector2 position | * Vector2 position | ||
* float orientation | * float orientation | ||
* Vector2 velocity | * Vector2 velocity | ||
| + | Absolute properties: | ||
* Vector2 absPosition | * Vector2 absPosition | ||
* float absOrientation | * float absOrientation | ||
* Vector2 absVelocity | * 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 | * Vector2 thrust | ||
* float weight | * float weight | ||
| - | * float | + | * float radius |
| - | * | + | * __init__(weight, radius) |
| - | =Sensor(CraftComponent)= | + | Calculates new position, velocity and orientation. Performs collision detection. |
| + | * update(elapsed) | ||
| + | |||
| + | ==Sensor(CraftComponent)== | ||
| + | Base class for sensor components | ||
* read() | * read() | ||
| - | =LightSensor(Sensor) | + | ===LightSensor(Sensor)=== |
| + | Implements a light sensor with the specified range. | ||
| + | * __init__(range) | ||
* read() | * read() | ||
| - | =Fan(CraftComponent)= | + | ==Fan(CraftComponent)== |
* thrust() | * thrust() | ||
| + | |||
| + | =Controller= | ||
| + | Called each frame to control the hovercraft. This should be overriden. | ||
| + | * update(craft, elapsed) | ||
Current revision as of 14:44, 26 September 2006
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)
