newCynic
Class Driver

java.lang.Object
  |
  +--newCynic.Driver

public class Driver
extends java.lang.Object

Класс Водитель


Field Summary
private  double _curHeading
          Направление движения.
private  DriverState _currentState
          Текущее состояние
private  double _curSpeed
          Линейная скорость.
private  double _curX
          Координаты.
private  double _curY
          Координаты.
private  double _da
          На сколько надо повернуть на данном шаге.
private  GeomVector _direction
          Направление движения.
private  double _oldHeading
          Направление движения.
private  double _oldX
          Координаты.
private  double _oldY
          Координаты.
(package private)  Cynical _robot
          Объект-супервизор
private  double _speed
          С какой скоростью надо двигаться на данном шаге.
private  long _t110
          Момент срабатывания таймера _t110.
private  double _turningSpeed
          Текущая скорость поворота.
private  double HEADING_DELTA
          Допустимое отклонение.
private  double WALLS_COEFF
          Коэффициент "отталкивания" от стен.
 
Constructor Summary
Driver(Cynical aRobot)
          Создает оьъект "водитель" для данного робота-супервизора.
 
Method Summary
 void beginRound()
          Метод, вызываемый в начале каждого раунда.
 void beginTurn()
          Метод, вызываемый в начале каждого шага
private  void calculate_movement_order(boolean aReverseAllowed)
          Вычислить требуемый угол поворота.
 void endTurn()
          Метод, вызываемый в конце шага.
 DriverState getCurrentState()
          Получить текущее состояние.
private  void getDirection()
          Получить направление движения на удаление от целей и стен.
 void setCurrentState(DriverState aCurrentState)
          Установить текущее состояние
 double turning_speed()
          Вернуть скорость поворота.
 boolean x100_enemyIsNear()
          x100 : Проверка на наличие близкого врага
 boolean x105_wallIsNear()
          x105 : Проверка на близость к стене
 boolean x110_timeoutExpired()
          x110 : Проверка на срабатывание таймера T110
 void z200_0_initializePendulumTrajectory()
          z200_0 : Инициализация движения по траектории 'маятник'.
 void z200_1_randomizePendulumTrajectory()
          z200_1 : Прибавление случайной составляющей к траектории 'Маятник'
 void z200_2_calculatePendulumTrajectory()
          z200_2 : Пересчет параметров при движении по траектории 'Маятник'
 void z210_0_initializeArcTrajectory()
          z210_0 : Инициализация движения по траектории 'Дуга'
 void z210_1_randomizeArcTrajectory()
          z210_1 : Добавление случайной составляющей к траектории 'Дуга'
 void z210_2_calculateArcTrajectory()
          z210_2 : Определиние направления и скорости движения 'Дуга'
 void z220_0_initializeDigressionTrajectory()
          z220_0 : Инициализация движения по траектории 'Уклонение'
 void z220_1_randomizeDigressionTrajectory()
          z220_1 : Добавление случайной составляющей к траектории 'Уклонение'
 void z220_2_calculateDigressionTrajectory()
          z220_2 : Определиние направления движения 'Уклонение'
 void z230_0_initializeStopTrajectory()
          z230_0 : Инициализация движения по траектории 'Останов'
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WALLS_COEFF

private final double WALLS_COEFF
Коэффициент "отталкивания" от стен.

See Also:
Constant Field Values

HEADING_DELTA

private final double HEADING_DELTA
Допустимое отклонение.


_t110

private long _t110
Момент срабатывания таймера _t110.


_oldHeading

private double _oldHeading
Направление движения.


_curHeading

private double _curHeading
Направление движения.


_oldX

private double _oldX
Координаты.


_oldY

private double _oldY
Координаты.


_curX

private double _curX
Координаты.


_curY

private double _curY
Координаты.


_turningSpeed

private double _turningSpeed
Текущая скорость поворота.


_curSpeed

private double _curSpeed
Линейная скорость.


_da

private double _da
На сколько надо повернуть на данном шаге.


_speed

private double _speed
С какой скоростью надо двигаться на данном шаге.


_direction

private GeomVector _direction
Направление движения.


_currentState

private DriverState _currentState
Текущее состояние


_robot

Cynical _robot
Объект-супервизор

Constructor Detail

Driver

public Driver(Cynical aRobot)
Создает оьъект "водитель" для данного робота-супервизора.

Parameters:
aRobot - супервизор
Method Detail

getCurrentState

public DriverState getCurrentState()
Получить текущее состояние.

Returns:
Объект, представляющий текущее состояние

setCurrentState

public void setCurrentState(DriverState aCurrentState)
Установить текущее состояние

Parameters:
aCurrentState - новое состояние

beginRound

public void beginRound()
Метод, вызываемый в начале каждого раунда.


beginTurn

public void beginTurn()
Метод, вызываемый в начале каждого шага


endTurn

public void endTurn()
Метод, вызываемый в конце шага.


turning_speed

public double turning_speed()
Вернуть скорость поворота.

Returns:
скорость поворота

x100_enemyIsNear

public boolean x100_enemyIsNear()
x100 : Проверка на наличие близкого врага


x105_wallIsNear

public boolean x105_wallIsNear()
x105 : Проверка на близость к стене


x110_timeoutExpired

public boolean x110_timeoutExpired()
x110 : Проверка на срабатывание таймера T110


z200_0_initializePendulumTrajectory

public void z200_0_initializePendulumTrajectory()
z200_0 : Инициализация движения по траектории 'маятник'.


z200_1_randomizePendulumTrajectory

public void z200_1_randomizePendulumTrajectory()
z200_1 : Прибавление случайной составляющей к траектории 'Маятник'


z200_2_calculatePendulumTrajectory

public void z200_2_calculatePendulumTrajectory()
z200_2 : Пересчет параметров при движении по траектории 'Маятник'


z210_0_initializeArcTrajectory

public void z210_0_initializeArcTrajectory()
z210_0 : Инициализация движения по траектории 'Дуга'


z210_1_randomizeArcTrajectory

public void z210_1_randomizeArcTrajectory()
z210_1 : Добавление случайной составляющей к траектории 'Дуга'


z210_2_calculateArcTrajectory

public void z210_2_calculateArcTrajectory()
z210_2 : Определиние направления и скорости движения 'Дуга'


z220_0_initializeDigressionTrajectory

public void z220_0_initializeDigressionTrajectory()
z220_0 : Инициализация движения по траектории 'Уклонение'


z220_1_randomizeDigressionTrajectory

public void z220_1_randomizeDigressionTrajectory()
z220_1 : Добавление случайной составляющей к траектории 'Уклонение'


z220_2_calculateDigressionTrajectory

public void z220_2_calculateDigressionTrajectory()
z220_2 : Определиние направления движения 'Уклонение'


z230_0_initializeStopTrajectory

public void z230_0_initializeStopTrajectory()
z230_0 : Инициализация движения по траектории 'Останов'


getDirection

private void getDirection()
Получить направление движения на удаление от целей и стен.


calculate_movement_order

private void calculate_movement_order(boolean aReverseAllowed)
Вычислить требуемый угол поворота.