HoverSim Design
From Hovercraft
(Difference between revisions)
(→CraftComponent) |
|||
(3 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)