Robocode

Solo disponible en BuenasTareas
  • Páginas : 14 (3492 palabras )
  • Descarga(s) : 7
  • Publicado : 7 de julio de 2010
Leer documento completo
Vista previa del texto
Inteligencia en Redes de Comunicaciones

ROBOCODE

David de Miguel Medina 100029556 Pablo Andreu barasoain 100027455

INDICE
Pag.

Introducción …………………………………………………………..

3

El Campo de juego y los robots ………………………………………. 4 Estrategia………………………………………………………………. 6 ¿Como movernos?.................................................................... . 6 ¿Cuando, como y con que potenciadisparar?........................... 7 ¿Como localizar a nuestro enemigo?.......................................... 8 Código…………………………………………………………………… 9 Conclusiones……………………………………………………………16 Bicliografia……………………………………………………………. 17

-2-

Introducción
Robocode es un simulador de combate donde tanques programados en Java luchan en un escenario preparado para ello, siendo el vencedor aquel quequede vivo. Este proyecto fue creado por Mathew Nelson, ingeniero de IBM, en un intento de convencer a la comunidad de que Java está preparado para ser utilizado en juegos y además, ser una metodología adictiva de aprendizaje del lenguaje. Se trata de un juego en el que se puede aprender dicho lenguaje y el manejo de los eventos de java programando tu propio robot mediante el propio lenguaje y métodosde java. Ayudándote de los métodos que se te proporcionan en el API específico para Robocode, el cual te permite ejecutar el programa y tu robot en cualquier sistema o PC, puedes implementar o sobrescribir métodos de dicho API para conseguir un robot más eficiente. Este API, parte de la clase “Robot”, “Bullet”, “Condition” y “Event” y se apoya en algunas otras clases de java como“java.io.OutputStream” y “java.io.Writer”. Además, el API cuenta con una interfaz llamada “Droid”. En Robocode el programador debe de encargarse de elegir la mejor estrategia para su robot e implementarla mediante desplazamientos, giros, controlando el radar y cañón del robot así como haciéndole disparar cuando considere apropiado. También tiene que controlar los eventos que se producen mientras combate (impactocontra un muro, de una bala….) Todas las batallas entre robots constan de uno o varios combates, en los cuales los robots parten de una posición inicial aleatoria y tienen que luchar entre ellos tanto individualmente como por equipos. El objetivo principal del juego es obtener más puntos que los robots contrarios al final de la batalla, par ello se debe destruir al robot contrincante aunque tambiénse pueden obtener puntos por diversas actuaciones. Hay dos tipos de combates: los combates individuales, y los combates en equipos, en el cual, un conjunto de robot luchan contra otro para conseguir la destrucción del equipo entero contrario. Dentro de los combates individuales, hay dos modalidades, una consistente en un “todos contra todos” en el cual solo debe quedar uno o los combates one2one,es decir uno contra otro, en los cuales combaten únicamente dos robots. Nosotros nos centraremos en este tipo de combates.

-3-

El Campo de juego y los robots
Los combates se realizan en superficies rectangulares que oscilan entre las dimensiones de 400x400 hasta 5000x5000 y por las cuales el robot tiene total libertad para moverse y localizar a los robots contrarios. Para ello, el robotconsta de tres partes básicas diferenciadas: el propio “chasis” del robot, el escáner y el cañón, los cuales se pueden mover conjunta o separadamente en función de la estrategia seguida por el jugador. Todos los movimientos que se le ordenen al tanque, deberán ir encaminados a mover el chasis, mientras que con el escáner, este podrá localizar a los enemigos para apuntarlos con el cañón, con el cualdisparara. Los robots heredan de la clase “Robot” por defecto, aunque también pueden heredar de “AdvancedRobot” o “TeamRobot”. Las principales diferencias son que la clase “Robot” dispone únicamente de los métodos básicos para la implementación del tanque. “AdvancedRobot” hereda a su vez de la clase Robot y permite, además de todas las funciones básicas, otras más avanzadas que nos facilitaran...
tracking img