--------------------------------------------------------
             helper functions available in WOR
--------------------------------------------------------

This document has been designed to be mostly readable in
both text and HTML format. 
   
   (incomplete for now)
   
in Helper:   
(see also the Javadoc)
 
  /**
   * Converts radians into degrees
  **/
  public static double rad2deg(double radians) 
  
  /**
   * Converts degrees into radians
  **/
  public static double deg2rad(double degrees) 
  
  /**
   * Angle between (0,0) and the given position, in radians.
   * 0=east.
  **/
  public static double angleTowards(Position target) 
  
  /**
   * Returns +/- (targetAngle-startAngle), depending on which
   * is shorter. The angles given in parameter can have any
   * value; the return value will be between -Pi and Pi.
  **/
  public static double shortestTurn(double startAngle, double targetAngle) 

    
in ReadOnlyMap:    
(see also the Javadoc)

  /**
   * Returns a Vector containing a copy of all the bullets in the map 
   * (of class Bullet).
   * Modifying the list will not have any effect on the actual map.
   */
  public Vector getBulletList() 
  
  /**
   * Returns a Vector containing a copy of all the walls of the map 
   * (of class LinearMapObject), including the walls surrounding
   * the arena.
   * Modifying the list will not have any effect on the actual map.
   */
  public Vector getWallList() 
  
  /**
   * Returns a Vector containing a copy of all the robots of the map 
   * (of class RobotInfo).
   * Modifying the list will not have any effect on the actual game.
   */
  public Vector getRobotList() 
  
  /**
   * Returns the width of the map
   */
  public double getWidth() 
   
  /**
   * Returns the height of the map
   */
  public double getHeight() 
  
  /**
   * Returns true if the two line segments intersect
   */
  public boolean lineSegmentsIntersect(LinearMapObject one, LinearMapObject two) 
  
  /**
   * Returns true if the distance between the line segment and the point
   * is smaller than radius
   */
  public boolean lineSegmentTouches(LinearMapObject line, Position pos, double radius) 
  
  /**
   * Return true if the two line segment are separated by a distance
   * smaller than dist
   */
  public boolean lineSegmentsTouch(LinearMapObject one, LinearMapObject two, double dist) 
  
  /**
   * Returns true if the given line segment goes through a wall
   */
  public boolean traversesWall(LinearMapObject traj) 
  
  /**
   * Returns true if the given line segment goes through a wall
   * or comes to a distance closer than dist to it.
   */
  public boolean traversesWall(LinearMapObject traj, double dist) 

  /** 
   * Returns true if a linear object of internalList is at a distance
   * shorter than radius to the given position.
   */
  public boolean touchesWall(Position pos, double radius) 
  
  /** 
   * Returns the number of the robot that is at a distance less than
   * radius from pos, and whose number is different from except.
   * If there is no such robot, returns -1.
   */
  public int robotTouching(Position pos, double radius, int except) 
  
  /** 
   * Returns true if an object, except the robot number exceptRobot
   * is at a distance shorter than radius to the given position.
   */
  public boolean touchesObstacle(Position pos, double radius, int exceptRobot) 
  
  /**
   * Angle between (0,0) and the given position, in radians.
   * 0=east.
  **/
  public double angleTowards(Position target) 
   
  /**
   * Returns +/- (targetAngle-startAngle), depending on which
   * is shorter. The angles given in parameter can have any
   * value; the return value will be between -Pi and Pi.
  **/
  public double shortestTurn(double startAngle, double targetAngle) 



See also:
  Helper Javadoc
  ReadOnlyMap Javadoc
  Index
  
--
Jean-Philippe Martin   

1