Upload
eduardo-oliveira
View
2.847
Download
1
Embed Size (px)
Citation preview
slide 1
Inteligência Artificial
Eduardo Araújo Oliveirahttp://eduoliveira.com
ROBOCODE
slide 2
Robocode
O Que é o Robocode?
– Ambiente de simulação de batalha entre robôs que roda em qualquer plataforma que suporte Java (agora também em .NET).
– A idéia básica consiste em utilizar as classes base disponíveis pelo ambiente para criar o seu próprio robô e colocá-lo em batalha com outros robôs criados por outros desenvolvedores.
Site do robocode: http://robocode.sourceforge.net/
slide 3
Robocode - Instalação
Para rodar o Robocode, é necessário possuir Java 5.0 SE ou
mais recente na sua máquina. Além disso é necessário setar
duas variáveis do sistema antes de executar o Robocode, são
elas:
A variável JAVA HOME, que deve estar setada para o diretório
do Java na sua máquina.
Windows: JAVA HOME=C:\Program Files\Java\jdk...
UNIX, Linux, Mac OS: JAVA HOME=/usr/local/jdk...
E a variável PATH, que deve incluir o caminho para a pasta bin
do diretório de Java (JAVA HOME) que inclui o java.exe para
iniciar a JVM.
Windows: PATH=%PATH%;%JAVA HOME%\bin
UNIX, Linux, Mac OS: PATH=${PATH}:${JAVA HOME}/bin
slide 4
Robocode - Instalação
O download da versão 1.7.3.0 está disponível em:
http://sourceforge.net/projects/robocode/files/robocode/
Depois de baixar, execute o .jar e este realizará a instalação.
Após a instalação, para iniciar o robocode utilize o
’robocode.bat’.
slide 5
Robocode – Adicionando novos robos
Depois de desenvolver seu robô, você deve exportá-lo como
um .jar, após isso o arquivo gerado deve ser colocado dentro
da pasta ’robots’, que fica localizada dentro do diretório onde o
robocode foi instalado.
slide 6
Robocode – Integração com o Eclipse
slide 7
Robocode – Integração com o Eclipse
slide 8
Robocode – Integração com o Eclipse
slide 9
Robocode – Integração com o Eclipse
slide 10
Robocode – Integração com o Eclipse
slide 11
Robocode – Integração com o Eclipse
slide 12
Robocode – Integração com o Eclipse
slide 13
Robocode – Integração com o Eclipse
slide 14
Robocode – Criando o robô no Eclipse
slide 15
Robocode – Criando o robo no Eclipse
slide 16
Robocode – Criando o robo no Eclipse
slide 17
Robocode – Criando o robo no Eclipse
slide 18
Robocode – Criando o robo no Eclipse
slide 19
Robocode + DroolsConfiguração
slide 20
Configurando o Eclipse para execução do Robocode com Drools
slide 21
Configurando o Eclipse para execução do Robocode com Drools
-Xmx512M -Dsun.io.useCanonCaches=false -Ddebug=true -DNOSECURITY=true -Ddrools.dialect.java.compiler=JANINO
slide 22
Configurando o Eclipse para execução do Robocode com Drools
slide 23
Robocode + DroolsIntegração (código)
slide 24
Integração do Robocode com o Drools
http://ccia.ei.uvigo.es/docencia/IA/0910/practicas/practica-2/
slide 25
Integração do Robocode com o Drools
No robô do Robocode, todos os métodos “on...()” colocam diretamente na memória
de trabalho do Drools os objetos “...Event”, como pode ser visto na figura a seguir,
que mostra um trecho da classe “droolsIntegration.RuledBasedRobot” (enviada em
anexo a este documento):
slide 26
Integração do Robocode com o Drools
A lista de ações é lida e cada ação se relaciona diretamente com um método set do
Robocode.
Depois que os métodos set são
definidos, o método execute()
realiza a execução das ações do
robô.
slide 27
Robocode + DroolsExemplos
slide 28
Exemplos de uso do Drools para o Robocode
Quando não escanear nenhum robô, gire radar para detectar robôs
slide 29
Exemplos de uso do Drools para o Robocode
Mover aleatoriamente quando parado
slide 30
Exemplos de uso do Drools para o Robocode
Quando não existir vítima ainda e o radar detectou um robô, adicione
este robô como vítima
slide 31
Exemplos de uso do Drools para o Robocode
Quando não existir vítima e chegar uma mensagem de inimigo
detectado por outro robô da mesma equipe, transforme o inimigo em
vítima
slide 32
Exemplos de uso do Drools para o Robocode
Quando escaneou novamente a vítima, vá em sua direção
slide 33
Exemplos de uso do Drools para o Robocode
Quando bater na parede, gire e retorne
slide 34
Exemplos de uso do Drools para o Robocode
Quando bater num robô e este é o alvo, permaneça na mesma posição e
apenas ande para trás
slide 35
Exemplos de uso do Drools para o Robocode
Quando bater em qualquer outro robô, contorne-o
slide 36
Exemplos de uso do Drools para o Robocode
Quando receber uma mensagem de “Líder inimigo encontrado”, retire
qualquer vítima antes colocada e definia o líder como a vítima
slide 37
Inteligência Artificial
Eduardo Araújo Oliveirahttp://eduoliveira.com
ROBOCODE