Trying to code some guns that fire at moving targets when they come with
range. How do I code gun to follow target and fire at it?
Thanks
List objects = getObjectsInRange(1000, Pointer.class);
if (!objects.isEmpty())
{
Pointer pointer = (Pointer)objects.get(0);
int distX = pointer.getX() - getX();
int distY = pointer.getY() - getY();
double angleRadians = Math.atan2(distY, distX);
int angleDegrees = (int)Math.toDegrees(angleRadians);
setRotation(angleDegrees);
move(3);
}
import java.util.List; // you'll want this as well
List objects = getObjectsInRange(1000, Tank.class); // 1000 is the distance in a radius it searches
if (!objects.isEmpty())
{
Tank target = (Tank)objects.get(0);
int distX = target.getX() - getX();
int distY = target.getY() - getY();
double angleRadians = Math.atan2(distY, distX);
int angleDegrees = (int)Math.toDegrees(angleRadians);
setRotation(angleDegrees);
fire();
}
if (!getObjectsInRange(1000, Tank.class).isEmpty())
{
Tank tank = (Tank) getObjectsInRange(1000 Tank.class).get(0);
turnTowards(tank.getX(), tank.getY());
fire();
}