Robocode III: Aprendiendo a disparar

15 diciembre 2011
jralbendin

En nuestro primer ejemplo el robot se movía hacia delante, giraba el cañón, se movía hacia atrás, giraba el cañón y otra vez vuelta a empezar. Vamos a añadirle el código necesario para que dispare. Para disparar hay que llamar al método fire() indicándole la potencia del disparo. En la documentación se nos indica que al llamar al método fire:

Inmediatamente dispara una bala. La bala se desplazará en la dirección en la que el cañón está apuntando.

La potencia del disparo indica una cantidad de energía que se tomará a partir de la energía del robot. Por lo tanto, con cuanta más potencia se dispare la bala, más energía se toma del robot. Si la bala alcanza a otro robot, le restará energía en función de la potencia a la que se haya lanzado la bala.

La llamada al método fire se pude realizar en cualquier parte del código, pero quizás resulte conveniente no desperdiciar balas y realizar el disparo cuando detectemos mediante nuestro radar que tenemos un robot delante nuestra. El método onScannedRobot() es llamado cuando nuestro robot «ve» a otro robot, es decir, cuando el radar detecta otro robot.

El siguiente código implementa la llamada al método fire() desde el método onScannedRobot():


package jra;
import robocode.*;

public class MiPrimerRobot extends Robot {
public void run() {
while (true) {
ahead(100);
turnGunRight(360);
back(100);
turnGunRight(360);
}
}

public void onScannedRobot(ScannedRobotEvent e) {
fire(1);
}
}

javaprogramaciónrobocode

Los comentarios están cerrados.