SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Mais procurados (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
 

Destaque (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)
 

Semelhante a 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
 

Semelhante a 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
 

Mais 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
 

Mais 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
 

Último

Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 

Último (20)

Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
 
Renascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRenascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDF
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
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
 
Poesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptxPoesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptx
 
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
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdfAPRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.pdf
APRESENTAÇÃO - BEHAVIORISMO - TEORIA DA APRENDIZAGEM.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