newCynic
Class Target

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

public class Target
extends java.lang.Object

Класс "Цель".


Field Summary
 double _angle
          Пеленг.
private  double _angularVelocity
          Скорость поворота.
private  double _averageAngularVelocity
          Усредненная скорость поворота.
private  double _averageVelocity
          Усредненная инейная скорость.
private  double _baseProbability
          базовая вероятность
private  boolean _collisionDetected
          Произошло стколкновение
private  TargetState _currentState
          Текущее состояние
private  Cynical _cynical
          Робот-супервизор
 double _distance
          Дистанция.
private  double _hits
          количество попаданий в цель
private  long _lastUpdateTime
          Время последнего измерения параметров цели.
private  java.lang.String _name
          Имя цели.
private  double _oldTargetHeading
          Направление движения цели при предпоследнем измерении.
private  GeomVector _predictionVector
          Упреждающий вектор от текущего положения нашего робота.
private  double _recentTargetHeading
          Направление движения цели при последнем измерении.
private  double _shots
          количество выстрелов в цель
private  double _TargetEnergy
          Энергия цели
private  double _Taverage
          усреденное время
private static double _Tbase
           
private  double _velocity
          Линейная скорость.
private static double CLOSE_RANGE_DISTANCE
           
private static double INITILAL_PROBABILITY
           
private static double LONG_RANGE_DISTANCE
           
private static double POINT_BLANK_RANGE
           
private static long ROUNDS_TO_MAKE_INFO_INVALID
          Количество раундов, через которое информация считается устаревшей.
 
Constructor Summary
(package private) Target(Cynical aCynical, robocode.ScannedRobotEvent e)
          Конструктор.
 
Method Summary
 void beginRound()
          Начало раунда.
 GeomVector calculateAveragePrediction(double aBulletSpeed, double aPredictionGap)
          Рассчитать усредненное упреждение.
 GeomVector calculateRoughPrediction(double aBuletSpeed, double aPredictionGap)
          Рассчитать грубое упреждение.
 void collision()
          Столкновение с целью.
static GeomVector get_path(double v, double w, double heading, double T)
          Определить по заданным параметрам элементарный путь, пройденный танком, предполагая скорости фиксированными.
private  GeomVector get_predicted_point(double v, double w, double t, boolean check_collisions)
          Расчитать участок траектории с неизменной скоростью.
 TargetState getCurrentState()
          Получить текущее состояние.
 java.lang.String getName()
          Вернуть имя цели.
 double getOptimalFirePower(double P)
          Вернуть оптимальную мощность выстрела по заданной цели.
 void hitByBullet()
          Попадание в нас.
 boolean isTracked()
          Цель сопровождается.
 void logStatisitics()
          Вывести статистику.
private  GeomVector predictPosition(double v, double w, double bullet_speed, double prediction_gap)
          Рассчитать упреждение с учетом: отличия во времени подлета пули; того, что выстрел будет с задержкой на prediction_gap.
 void resetSpeedHistory()
          Сброс статистики скорости.
 void setCurrentState(TargetState aNewState)
          Установить текущее состояние
 void shoot(double firepower)
          Выстрел по цели.
 void targetDestroyed()
          Уничтожение цели.
 void targetHit()
          Попадание в цель.
 void targetRefresh()
          Обновление состояния цели.
 void targetUpdate(robocode.ScannedRobotEvent aEvent)
          Обновление цели.
private  boolean vector_out_of_field(GeomVector vector)
          Определить, выходит ли вектор, направленный из текущего положения танка за границу поля.
 boolean wasUpdatedAfter(long scan_time)
          Была ли цель обновлена после указанного времени.
 boolean x1000_targetDataIsOutOfDate()
          x1000 : Информация о цели устарела.
 void z1000_resetTargetData()
          z1000 : Сбросить параметры цели.
 void z1001_updateTargetData(robocode.Event event)
          z1001 : Обновить параметры цели.
 void z1010_updateTargetHitStatistics(robocode.Event e)
          z1010 : Обновить статистику попаданий в цель.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LONG_RANGE_DISTANCE

private static final double LONG_RANGE_DISTANCE
See Also:
Constant Field Values

CLOSE_RANGE_DISTANCE

private static final double CLOSE_RANGE_DISTANCE
See Also:
Constant Field Values

POINT_BLANK_RANGE

private static final double POINT_BLANK_RANGE
See Also:
Constant Field Values

ROUNDS_TO_MAKE_INFO_INVALID

private static final long ROUNDS_TO_MAKE_INFO_INVALID
Количество раундов, через которое информация считается устаревшей.

See Also:
Constant Field Values

INITILAL_PROBABILITY

private static final double INITILAL_PROBABILITY
See Also:
Constant Field Values

_Tbase

private static final double _Tbase
See Also:
Constant Field Values

_name

private java.lang.String _name
Имя цели.


_angle

public double _angle
Пеленг.


_distance

public double _distance
Дистанция.


_velocity

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


_averageVelocity

private double _averageVelocity
Усредненная инейная скорость.


_angularVelocity

private double _angularVelocity
Скорость поворота.


_averageAngularVelocity

private double _averageAngularVelocity
Усредненная скорость поворота.


_collisionDetected

private boolean _collisionDetected
Произошло стколкновение


_recentTargetHeading

private double _recentTargetHeading
Направление движения цели при последнем измерении.


_oldTargetHeading

private double _oldTargetHeading
Направление движения цели при предпоследнем измерении.


_lastUpdateTime

private long _lastUpdateTime
Время последнего измерения параметров цели.


_predictionVector

private GeomVector _predictionVector
Упреждающий вектор от текущего положения нашего робота.


_TargetEnergy

private double _TargetEnergy
Энергия цели


_hits

private double _hits
количество попаданий в цель


_shots

private double _shots
количество выстрелов в цель


_baseProbability

private double _baseProbability
базовая вероятность


_Taverage

private double _Taverage
усреденное время


_cynical

private Cynical _cynical
Робот-супервизор


_currentState

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

Constructor Detail

Target

Target(Cynical aCynical,
       robocode.ScannedRobotEvent e)
Конструктор.

Method Detail

getCurrentState

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

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

setCurrentState

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

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

beginRound

public void beginRound()
Начало раунда.


targetRefresh

public void targetRefresh()
Обновление состояния цели.


targetUpdate

public void targetUpdate(robocode.ScannedRobotEvent aEvent)
Обновление цели.


targetDestroyed

public void targetDestroyed()
Уничтожение цели.


targetHit

public void targetHit()
Попадание в цель.


collision

public void collision()
Столкновение с целью.


hitByBullet

public void hitByBullet()
Попадание в нас.


shoot

public void shoot(double firepower)
Выстрел по цели.


resetSpeedHistory

public void resetSpeedHistory()
Сброс статистики скорости.


isTracked

public boolean isTracked()
Цель сопровождается.


wasUpdatedAfter

public boolean wasUpdatedAfter(long scan_time)
Была ли цель обновлена после указанного времени.


getOptimalFirePower

public double getOptimalFirePower(double P)
Вернуть оптимальную мощность выстрела по заданной цели.


calculateRoughPrediction

public GeomVector calculateRoughPrediction(double aBuletSpeed,
                                           double aPredictionGap)
Рассчитать грубое упреждение.


calculateAveragePrediction

public GeomVector calculateAveragePrediction(double aBulletSpeed,
                                             double aPredictionGap)
Рассчитать усредненное упреждение.


logStatisitics

public void logStatisitics()
Вывести статистику.


x1000_targetDataIsOutOfDate

public boolean x1000_targetDataIsOutOfDate()
x1000 : Информация о цели устарела.


z1000_resetTargetData

public void z1000_resetTargetData()
z1000 : Сбросить параметры цели.


z1001_updateTargetData

public void z1001_updateTargetData(robocode.Event event)
z1001 : Обновить параметры цели.


z1010_updateTargetHitStatistics

public void z1010_updateTargetHitStatistics(robocode.Event e)
z1010 : Обновить статистику попаданий в цель.


predictPosition

private GeomVector predictPosition(double v,
                                   double w,
                                   double bullet_speed,
                                   double prediction_gap)
Рассчитать упреждение с учетом:


get_predicted_point

private GeomVector get_predicted_point(double v,
                                       double w,
                                       double t,
                                       boolean check_collisions)
Расчитать участок траектории с неизменной скоростью.


vector_out_of_field

private boolean vector_out_of_field(GeomVector vector)
Определить, выходит ли вектор, направленный из текущего положения танка за границу поля.


get_path

public static GeomVector get_path(double v,
                                  double w,
                                  double heading,
                                  double T)
Определить по заданным параметрам элементарный путь, пройденный танком, предполагая скорости фиксированными.


getName

public java.lang.String getName()
Вернуть имя цели.