TutorialRobocode

Páginas: 9 (2024 palabras) Publicado: 5 de septiembre de 2014
Introducción a la programación de robots para Robocode.
Grupo de investigación en Sistemas Inteligentes y Minería de Datos
Departamento de Sistemas Informáticos.
Universidad de Castilla-La Mancha

1 Introducción a Robocode
Robocode es un juego educativo Open Source escrito en Java, en el que los
competidores han de diseñar y programar sistemas de control para unos tanques (robots),
quecompiten con el objetivo de eliminar al resto de adversarios.
El juego transcurre en un campo de batalla en dos dimensiones como el que muestra la
ilustración 1, en la que pueden apreciarse 5 de estos robots, y su duración se mide en turnos
y número de rondas.
Aspectos como el tamaño del campo de batalla o el número de rondas, pueden ser
configurados por el usuario desde el propio entorno.Además, el tiempo real empleado para
cada turno, y por tanto para cada partida, puede ser regulado (barra de desplazamiento en la
parte inferior de la ilustración 1).

Ilustración 1: Captura de pantalla del juego Robocode
Para llevar a cabo una batalla es necesario especificar, como mínimo, el número y tipo de
robots que van a tomar parte en ella. La ilustración 2 muestra la ventana deconfiguración de
una batalla (menú Battle­>New). En ella puede apreciarse una lista con los distintos
robots agrupados en paquetes (Available Robots), y los seleccionados (Selected Robots).
La configuración de las batallas también puede ser almacenada/leída desde un archivo.

Ilustración 2: Configuración de una batalla
Robocode proporciona, además, la posibilidad de hacer un seguimiento de los robotse
incluso de llevar a cabo depuración de los mismos. Mediante el botón pause/debug (parte
inferior izquierda de la ilustración 1), el usuario puede activar el control de los turnos
mediante el botón Next Turn (que también puede observarse en la ilustración 1).
Además, al pulsar sobre el nombre de un robot participante aparece una ventana
(ilustración 3) en la que se muestra la salidagenerada por el mismo.

Ilustración 3: Salida generada por un robot

2 Las reglas del juego
Básicamente, un robot lleva a cabo disparos para dañar a los adversarios aunque,
eventualmente, también puede valerse de colisiones. Por otra parte, cada robot cuenta con
una energía inicial (100 unidades) que desciende cuando es alcanzado por un disparo o
colisiona con otro robot, y es destruido cuandoesta energía desciende hasta 0 unidades.

Los disparos efectuados por un robot tienen asociada una energía, denominada energía
de disparo (ED). De dicha energía depende la velocidad de la bala, que se obtiene como:
Velocidad de la bala = 20 – 3 * ED.
Las consecuencias del disparo también dependen de su energía. Así, el daño o pérdida de
energía producido en el adversario en caso de acierto secalcula según la expresión:
daño = 4 * ED, si ED = 1,
daño = 4 * ED + 2 * (ED – 1), si ED > 1,
mientras que, también en caso de acierto, el tanque que ha disparado experimenta un
incremento en su energía o recuperación que viene dado por:
recuperación = 3 * ED.
Por otra parte, un tanque no puede disparar si la temperatura de su cañón (TC) es mayor
que 0. Un disparo produce un aumento en elcalentamiento en el cañón tal que:
calentamiento = 1 + ED,
lo que hace necesario un equilibrio entre la energía de los disparos y la frecuencia de éstos,
ya que la tasa de enfriamiento del cañón, que es un parámetro del juego, se fija a valores
relativamente bajos (por defecto a 0.1 unidades/turno).
En cuanto a las colisiones, éstas producen una pérdida de energía de 0.6.
En relación alsistema de puntuación, las batallas constan de un número determinado de
rondas, y el ganador final es aquel que consigue una mayor puntuación global. Dicha
puntuación (Total Score) se obtiene como suma de varias componentes:
• Survival Score: Cada robot que está presente en el campo de batalla suma 50
puntos cuando otro robot es destruido.
• Last Survivor Bonus: El único robot que quede por...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS