Robocode IV: Aprendiendo a escapar

15 diciembre 2011
jralbendin

En el último artículo aprendimos a disparar. En éste aprenderemos a reaccionar ante un proyectil que nos alcanza. Para ello haremos uso del método onHitByBullet. Este método se ejecuta cuando nuetro robot es alcanzado por una bala. Si queremos estar informados de este evento y reaccionar al mismo tendremos que sobreescribirlo.

En el siguiente código sobreescribimos el método onHitByBullet() y le indicamos al robot que cuando sea alcanzado por un proyectil cambie su trayectoria para evitar ser alcanzado de nuevo por otra bala.

Para cambiar la trayectoria hacemos uso del método turnLeft() que recibe como parámetro el número de grados que queramos que gire hacia la derecha. En este caso hacemos uso del método getBearing() para obtener el ángulo con el que hemos recibido el disparo. El valor que se le pasa a turnLeft colocará al robot en una recta perpendicular a la recta que ha seguido la bala.


public void onHitByBullet(HitByBulletEvent e) {
turnLeft(90 - e.getBearing());
}

javaprogramaciónrobocode