Robocode
Contenido
➲ ➲ ➲ ➲ ➲ ➲ ➲ ➲
Esqueleto principal Robot 1: Corrección de radar Robot 2: Oscilación de laposición Robot 3: Intentar esquivar las balas Robot 4: Implementando el disparo Robot 5: Mejorando nuestro disparo Robot 6: Usando estrategias JaMa: Predicción de la posición
Esqueleto Principal//Método principal del robot. public void run(){ //bucle principal while (true){ Escanear(); Mover(); Disparar(); execute(); } } Método que controlará el radar
Método que usaremos para ordenarlos movimientos del robot en cada momento. Método en el cual escribiremos la técnica o técnicas de disparo a utilizar.
Eventos importantes
public void onScannedRobot(ScannedRobotEvent e) {//Código que será llamado cuando nuestro escaner detecte un robot enemigo. } public void onWin(WinEvent ganar){ //Código que se ejecutará cuando ganemos el combate. }public void onDeath(DeathEvent muerte){ //Código que se ejecutará cuando nuestro robot muera. } public void onRobotDeath(RobotDeathEvent e) { //Código que se ejecutará cuando nuestro enemigo sea destruido. }
Clase Enemigopublic class Enemigo{ public static String nombre; public static double bearing; public static double heading; public static double distancia; public static double distancia_ant;public static double velocidad; public static double energia; public static double energia_ant; public static long tiempo; public static double x,y; public static double ax,ay; public static double rota; }Los atributos son estáticos ya que no crearemos ningún objeto de la clase Enemigo, sino que siempre nos centraremos en un solo enemigo.
Robot 1
Normalizar el ángulos: //Si el ángulo es mayor que 180º le restamos 360º if (ang > PI) ang = 2*PI; //Si el ángulo es menor que 180º le sumamos 360º if (ang Enemigo.energia){ moverdireccion = moverdireccion; setAhead(100 * moverdireccion); }
Robot 4...
Regístrate para leer el documento completo.