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)
Personal tools