robocode

Class Bullet

Implemented Interfaces:
Serializable

public class Bullet
extends Object
implements 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)
See Also:
Robot.fireBullet(double), AdvancedRobot.setFireBullet(double), BulletHitEvent, BulletMissedEvent, BulletHitBulletEvent

Constructor Summary

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

Method Summary

double
getHeading()
Returns the direction the bullet is/was heading, in degrees (0 <= getHeading() <32360).
double
getHeadingRadians()
Returns the direction the bullet is/was heading, in radians (0 <= getHeadingRadians() <322 * Math.PI).
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.
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.
boolean
isActive()
Checks if this bullet is still active on the battlefield.

Constructor Details

Bullet

public Bullet(double heading,
              double x,
              double y,
              double power,
              String ownerName,
              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 bullet
isActive - still moves
bulletId - unique id of bullet for owner robot

Method Details

getHeading

public double getHeading()
Returns the direction the bullet is/was heading, in degrees (0 <= getHeading() <32360). 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() <322 * Math.PI). This is not relative to the direction you are facing.
Returns:
the direction the bullet is/was heading, in radians

getName

public 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 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