SlideShare une entreprise Scribd logo
1  sur  37
Inteligência Artificial




       ROBOCODE




  Eduardo Araújo Oliveira
  http://eduoliveira.com



                            slide 1
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 2
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 FilesJavajdk...
   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 3
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 4
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 5
Robocode – Integração com o Eclipse




                                      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 – Criando o robô no Eclipse




                                       slide 14
Robocode – Criando o robo 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 + Drools
  Configuração




                    slide 19
Configurando o Eclipse para execução do Robocode com Drools




                                                              slide 20
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 21
Configurando o Eclipse para execução do Robocode com Drools




                                                              slide 22
Robocode + Drools
Integração (código)




                      slide 23
Integração do Robocode com o Drools




       http://ccia.ei.uvigo.es/docencia/IA/0910/practicas/practica-2/




                                                                   slide 24
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 25
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 26
Robocode + Drools
    Exemplos




                    slide 27
Exemplos de uso do Drools para o Robocode



Quando não escanear nenhum robô, gire radar para detectar robôs




                                                                  slide 28
Exemplos de uso do Drools para o Robocode



Mover aleatoriamente quando parado




                                            slide 29
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 30
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 31
Exemplos de uso do Drools para o Robocode



Quando escaneou novamente a vítima, vá em sua direção




                                                        slide 32
Exemplos de uso do Drools para o Robocode



Quando bater na parede, gire e retorne




                                            slide 33
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 34
Exemplos de uso do Drools para o Robocode



Quando bater em qualquer outro robô, contorne-o




                                                  slide 35
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 36
Inteligência Artificial




       ROBOCODE




  Eduardo Araújo Oliveira
  http://eduoliveira.com



                            slide 37

Contenu connexe

Tendances

Tendances (6)

BDD + PHP = behat!
BDD + PHP = behat!BDD + PHP = behat!
BDD + PHP = behat!
 
Domando a irreversibilidade com feature flags
Domando a irreversibilidade com feature flagsDomando a irreversibilidade com feature flags
Domando a irreversibilidade com feature flags
 
Moq - Tips and Tricks
Moq - Tips and TricksMoq - Tips and Tricks
Moq - Tips and Tricks
 
Aula de Java 2: exceções (1999): Programa ASIT (IBPINET/UFRJ)
Aula de Java 2: exceções (1999): Programa ASIT (IBPINET/UFRJ)Aula de Java 2: exceções (1999): Programa ASIT (IBPINET/UFRJ)
Aula de Java 2: exceções (1999): Programa ASIT (IBPINET/UFRJ)
 
38698469 slides-arduino
38698469 slides-arduino38698469 slides-arduino
38698469 slides-arduino
 
BDD: Torne viva a documentação de seus sistemas
BDD: Torne viva a documentação de seus sistemasBDD: Torne viva a documentação de seus sistemas
BDD: Torne viva a documentação de seus sistemas
 

En vedette (8)

Red Hat Roadshow 2009 - Drools
Red Hat Roadshow 2009 - DroolsRed Hat Roadshow 2009 - Drools
Red Hat Roadshow 2009 - Drools
 
4 Forum SOA - Edgar Silva (Red Hat)
4 Forum SOA - Edgar Silva (Red Hat)4 Forum SOA - Edgar Silva (Red Hat)
4 Forum SOA - Edgar Silva (Red Hat)
 
Maratona JBoss 2010 - Drools Expert : Programação Orientada a Regras
Maratona JBoss 2010 - Drools Expert : Programação Orientada a RegrasMaratona JBoss 2010 - Drools Expert : Programação Orientada a Regras
Maratona JBoss 2010 - Drools Expert : Programação Orientada a Regras
 
J Boss Drools
J Boss DroolsJ Boss Drools
J Boss Drools
 
BRMS - Business Rules Management System
BRMS - Business Rules Management SystemBRMS - Business Rules Management System
BRMS - Business Rules Management System
 
drools
droolsdrools
drools
 
Drools and jBPM 6 Overview
Drools and jBPM 6 OverviewDrools and jBPM 6 Overview
Drools and jBPM 6 Overview
 
Drools 6.0 (Red Hat Summit)
Drools 6.0 (Red Hat Summit)Drools 6.0 (Red Hat Summit)
Drools 6.0 (Red Hat Summit)
 

Similaire à drools + robocode

Desenvolvimento de Sistemas para Dispositivos Móveis e Sem Fio
Desenvolvimento de Sistemas para Dispositivos Móveis e Sem FioDesenvolvimento de Sistemas para Dispositivos Móveis e Sem Fio
Desenvolvimento de Sistemas para Dispositivos Móveis e Sem Fio
Leandro Rezende
 
Leitor de Códigos no Android com Barcode Scanner API - ZXing
Leitor de Códigos no Android com Barcode Scanner API - ZXingLeitor de Códigos no Android com Barcode Scanner API - ZXing
Leitor de Códigos no Android com Barcode Scanner API - ZXing
Vinícius Thiengo
 
Java Fundamentos
Java FundamentosJava Fundamentos
Java Fundamentos
Wilson Lima
 

Similaire à drools + robocode (20)

Aula02 android hands_on
Aula02 android hands_onAula02 android hands_on
Aula02 android hands_on
 
Apresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaApresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno Cotta
 
Empreendedori$mo com Android
Empreendedori$mo com AndroidEmpreendedori$mo com Android
Empreendedori$mo com Android
 
JavaScript Robotics: o que acontece quando o hardware se encontra com o JavaS...
JavaScript Robotics: o que acontece quando o hardware se encontra com o JavaS...JavaScript Robotics: o que acontece quando o hardware se encontra com o JavaS...
JavaScript Robotics: o que acontece quando o hardware se encontra com o JavaS...
 
I mini curso e torneio robocode.pptx
I mini curso e torneio  robocode.pptxI mini curso e torneio  robocode.pptx
I mini curso e torneio robocode.pptx
 
Desenvolvimento de Sistemas para Dispositivos Móveis e Sem Fio
Desenvolvimento de Sistemas para Dispositivos Móveis e Sem FioDesenvolvimento de Sistemas para Dispositivos Móveis e Sem Fio
Desenvolvimento de Sistemas para Dispositivos Móveis e Sem Fio
 
Setup.docx
Setup.docxSetup.docx
Setup.docx
 
Robot Operating System - Iniciação a Robótica
Robot Operating System - Iniciação a RobóticaRobot Operating System - Iniciação a Robótica
Robot Operating System - Iniciação a Robótica
 
Minicurso de Android - Wake Up Systems
Minicurso de Android - Wake Up SystemsMinicurso de Android - Wake Up Systems
Minicurso de Android - Wake Up Systems
 
Implementação do controle PID e validação real utilizando a plataforma robóti...
Implementação do controle PID e validação real utilizando a plataforma robóti...Implementação do controle PID e validação real utilizando a plataforma robóti...
Implementação do controle PID e validação real utilizando a plataforma robóti...
 
Implementação do controle PID e validação real utilizando a plataforma robóti...
Implementação do controle PID e validação real utilizando a plataforma robóti...Implementação do controle PID e validação real utilizando a plataforma robóti...
Implementação do controle PID e validação real utilizando a plataforma robóti...
 
Java 01
Java 01Java 01
Java 01
 
Aula 00
Aula 00Aula 00
Aula 00
 
Aula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixAula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane Fidelix
 
Aula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane FidelixAula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane Fidelix
 
Leitor de Códigos no Android com Barcode Scanner API - ZXing
Leitor de Códigos no Android com Barcode Scanner API - ZXingLeitor de Códigos no Android com Barcode Scanner API - ZXing
Leitor de Códigos no Android com Barcode Scanner API - ZXing
 
Criando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & DockerCriando Webservice REST com NodeJS, NoSQL & Docker
Criando Webservice REST com NodeJS, NoSQL & Docker
 
Java Fundamentos
Java FundamentosJava Fundamentos
Java Fundamentos
 
Docker Itix
Docker ItixDocker Itix
Docker Itix
 
Robocode
RobocodeRobocode
Robocode
 

Plus de Eduardo Oliveira

Cidades Inteligentes - Civic Hacking - Open Data
Cidades Inteligentes - Civic Hacking - Open DataCidades Inteligentes - Civic Hacking - Open Data
Cidades Inteligentes - Civic Hacking - Open Data
Eduardo Oliveira
 
Ponteiros e Alocação Dinâmica
Ponteiros e Alocação DinâmicaPonteiros e Alocação Dinâmica
Ponteiros e Alocação Dinâmica
Eduardo Oliveira
 

Plus de Eduardo Oliveira (10)

Distributed and heterogeneous data analysis for smart urban planning
Distributed and heterogeneous data analysis for smart urban planningDistributed and heterogeneous data analysis for smart urban planning
Distributed and heterogeneous data analysis for smart urban planning
 
UCD Process
UCD ProcessUCD Process
UCD Process
 
Physical Computing and IoT
Physical Computing and IoTPhysical Computing and IoT
Physical Computing and IoT
 
Recife as a Smart and Playable City
Recife as a Smart and Playable CityRecife as a Smart and Playable City
Recife as a Smart and Playable City
 
Cidades Inteligentes - Civic Hacking - Open Data
Cidades Inteligentes - Civic Hacking - Open DataCidades Inteligentes - Civic Hacking - Open Data
Cidades Inteligentes - Civic Hacking - Open Data
 
Dispositivos Móveis: Uma Revolução na Educação
Dispositivos Móveis: Uma Revolução na EducaçãoDispositivos Móveis: Uma Revolução na Educação
Dispositivos Móveis: Uma Revolução na Educação
 
Cidades Inteligentes
Cidades InteligentesCidades Inteligentes
Cidades Inteligentes
 
Ponteiros e Alocação Dinâmica
Ponteiros e Alocação DinâmicaPonteiros e Alocação Dinâmica
Ponteiros e Alocação Dinâmica
 
IHC 2011 - Widgets Internship
IHC 2011 - Widgets InternshipIHC 2011 - Widgets Internship
IHC 2011 - Widgets Internship
 
EAD no Brasil
EAD no BrasilEAD no Brasil
EAD no Brasil
 

Dernier

Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
TailsonSantos1
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
LeloIurk1
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 

Dernier (20)

Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
Antero de Quental, sua vida e sua escrita
Antero de Quental, sua vida e sua escritaAntero de Quental, sua vida e sua escrita
Antero de Quental, sua vida e sua escrita
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
praticas experimentais 1 ano ensino médio
praticas experimentais 1 ano ensino médiopraticas experimentais 1 ano ensino médio
praticas experimentais 1 ano ensino médio
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 

drools + robocode

  • 1. Inteligência Artificial ROBOCODE Eduardo Araújo Oliveira http://eduoliveira.com slide 1
  • 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 2
  • 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 FilesJavajdk... 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 3
  • 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 4
  • 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 5
  • 6. Robocode – Integração com o Eclipse slide 6
  • 7. Robocode – Integração com o Eclipse slide 7
  • 8. Robocode – Integração com o Eclipse slide 8
  • 9. Robocode – Integração com o Eclipse slide 9
  • 10. Robocode – Integração com o Eclipse slide 10
  • 11. Robocode – Integração com o Eclipse slide 11
  • 12. Robocode – Integração com o Eclipse slide 12
  • 13. Robocode – Integração com o Eclipse slide 13
  • 14. Robocode – Criando o robô no Eclipse slide 14
  • 15. Robocode – Criando o robo no Eclipse slide 15
  • 16. Robocode – Criando o robo no Eclipse slide 16
  • 17. Robocode – Criando o robo no Eclipse slide 17
  • 18. Robocode – Criando o robo no Eclipse slide 18
  • 19. Robocode + Drools Configuração slide 19
  • 20. Configurando o Eclipse para execução do Robocode com Drools slide 20
  • 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 21
  • 22. Configurando o Eclipse para execução do Robocode com Drools slide 22
  • 23. Robocode + Drools Integração (código) slide 23
  • 24. Integração do Robocode com o Drools http://ccia.ei.uvigo.es/docencia/IA/0910/practicas/practica-2/ slide 24
  • 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 25
  • 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 26
  • 27. Robocode + Drools Exemplos slide 27
  • 28. Exemplos de uso do Drools para o Robocode Quando não escanear nenhum robô, gire radar para detectar robôs slide 28
  • 29. Exemplos de uso do Drools para o Robocode Mover aleatoriamente quando parado slide 29
  • 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 30
  • 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 31
  • 32. Exemplos de uso do Drools para o Robocode Quando escaneou novamente a vítima, vá em sua direção slide 32
  • 33. Exemplos de uso do Drools para o Robocode Quando bater na parede, gire e retorne slide 33
  • 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 34
  • 35. Exemplos de uso do Drools para o Robocode Quando bater em qualquer outro robô, contorne-o slide 35
  • 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 36
  • 37. Inteligência Artificial ROBOCODE Eduardo Araújo Oliveira http://eduoliveira.com slide 37