Package robocode

## Class Bullet

- java.lang.Object
- - robocode.Bullet

All Implemented Interfaces:
  `java.io.Serializable`

    public class Bullet
    extends java.lang.Object
    implements java.io.Serializable

Represents a bullet. This is returned from `Robot.fireBullet(double)` and `AdvancedRobot.setFireBullet(double)`, and all the bullet-related events.

Author:
  Mathew A. Nelson (original), Flemming N. Larsen (contributor)
See Also:
  `Robot.fireBullet(double)`, `AdvancedRobot.setFireBullet(double)`, `BulletHitEvent`, `BulletMissedEvent`, `BulletHitBulletEvent`, Serialized Form

### Constructor Summary

Constructors
`Bullet​(double heading, double x, double y, double power, java.lang.String ownerName, java.lang.String victimName, boolean isActive, int bulletId)` Called by the game to create a new `Bullet` object

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `equals​(java.lang.Object obj)`
`double` `getHeading()` Returns the direction the bullet is/was heading, in degrees (0 <= getHeading() < 360).
`double` `getHeadingRadians()` Returns the direction the bullet is/was heading, in radians (0 <= getHeadingRadians() < 2 * Math.PI).
`java.lang.String` `getName()` Returns the name of the robot that fired this bullet.
`double` `getPower()` Returns the power of this bullet.
`double` `getVelocity()` Returns the velocity of this bullet.
`java.lang.String` `getVictim()` Returns the name of the robot that this bullet hit, or `null` if the bullet has not hit a robot.
`double` `getX()` Returns the X position of the bullet.
`double` `getY()` Returns the Y position of the bullet.
`int` `hashCode()`
`boolean` `isActive()` Checks if this bullet is still active on the battlefield.

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### Bullet

    public Bullet​(double heading,
                  double x,
                  double y,
                  double power,
                  java.lang.String ownerName,
                  java.lang.String victimName,
                  boolean isActive,
                  int bulletId)

Called by the game to create a new `Bullet` object

Parameters:
  `heading` - the heading of the bullet, in radians.
  `x` - the starting X position of the bullet.
  `y` - the starting Y position of the bullet.
  `power` - the power of the bullet.
  `ownerName` - the name of the owner robot that owns the bullet.
  `victimName` - the name of the robot hit by the bullet.
  `isActive` - `true` if the bullet still moves; `false` otherwise.
  `bulletId` - unique id of bullet for owner robot.

### Method Detail

#### equals

    public boolean equals​(java.lang.Object obj)

Overrides:
  `equals` in class `java.lang.Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `java.lang.Object`

#### getHeading

    public double getHeading()

Returns the direction the bullet is/was heading, in degrees (0 <= getHeading() < 360). This is not relative to the direction you are facing.

Returns:
  the direction the bullet is/was heading, in degrees

#### getHeadingRadians

    public double getHeadingRadians()

Returns the direction the bullet is/was heading, in radians (0 <= getHeadingRadians() < 2 * Math.PI). This is not relative to the direction you are facing.

Returns:
  the direction the bullet is/was heading, in radians

#### getName

    public java.lang.String getName()

Returns the name of the robot that fired this bullet.

Returns:
  the name of the robot that fired this bullet

#### getPower

    public double getPower()

Returns the power of this bullet.

The bullet will do (4 * power) damage if it hits another robot. If power is greater than 1, it will do an additional 2 * (power - 1) damage. You will get (3 * power) back if you hit the other robot.

Returns:
  the power of the bullet

#### getVelocity

    public double getVelocity()

Returns the velocity of this bullet. The velocity of the bullet is constant once it has been fired.

Returns:
  the velocity of the bullet

#### getVictim

    public java.lang.String getVictim()

Returns the name of the robot that this bullet hit, or `null` if the bullet has not hit a robot.

Returns:
  the name of the robot that this bullet hit, or `null` if the bullet has not hit a robot.

#### getX

    public double getX()

Returns the X position of the bullet.

Returns:
  the X position of the bullet

#### getY

    public double getY()

Returns the Y position of the bullet.

Returns:
  the Y position of the bullet

#### isActive

    public boolean isActive()

Checks if this bullet is still active on the battlefield.

Returns:
  `true` if the bullet is still active on the battlefield; `false` otherwise