drools + robocode

3,985 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,985
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
89
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

drools + robocode

  1. 1. Inteligência Artificial ROBOCODE Eduardo Araújo Oliveira http://eduoliveira.com slide 1
  2. 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. 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. 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. 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. 6. Robocode – Integração com o Eclipse slide 6
  7. 7. Robocode – Integração com o Eclipse slide 7
  8. 8. Robocode – Integração com o Eclipse slide 8
  9. 9. Robocode – Integração com o Eclipse slide 9
  10. 10. Robocode – Integração com o Eclipse slide 10
  11. 11. Robocode – Integração com o Eclipse slide 11
  12. 12. Robocode – Integração com o Eclipse slide 12
  13. 13. Robocode – Integração com o Eclipse slide 13
  14. 14. Robocode – Criando o robô no Eclipse slide 14
  15. 15. Robocode – Criando o robo no Eclipse slide 15
  16. 16. Robocode – Criando o robo no Eclipse slide 16
  17. 17. Robocode – Criando o robo no Eclipse slide 17
  18. 18. Robocode – Criando o robo no Eclipse slide 18
  19. 19. Robocode + Drools Configuração slide 19
  20. 20. Configurando o Eclipse para execução do Robocode com Drools slide 20
  21. 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. 22. Configurando o Eclipse para execução do Robocode com Drools slide 22
  23. 23. Robocode + DroolsIntegração (código) slide 23
  24. 24. Integração do Robocode com o Drools http://ccia.ei.uvigo.es/docencia/IA/0910/practicas/practica-2/ slide 24
  25. 25. Integração do Robocode com o DroolsNo robô do Robocode, todos os métodos “on...()” colocam diretamente na memóriade trabalho do Drools os objetos “...Event”, como pode ser visto na figura a seguir,que mostra um trecho da classe “droolsIntegration.RuledBasedRobot” (enviada emanexo a este documento): slide 25
  26. 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ãodefinidos, o método execute()realiza a execução das ações dorobô. slide 26
  27. 27. Robocode + Drools Exemplos slide 27
  28. 28. Exemplos de uso do Drools para o RobocodeQuando não escanear nenhum robô, gire radar para detectar robôs slide 28
  29. 29. Exemplos de uso do Drools para o RobocodeMover aleatoriamente quando parado slide 29
  30. 30. Exemplos de uso do Drools para o RobocodeQuando não existir vítima ainda e o radar detectou um robô, adicioneeste robô como vítima slide 30
  31. 31. Exemplos de uso do Drools para o RobocodeQuando não existir vítima e chegar uma mensagem de inimigo detectadopor outro robô da mesma equipe, transforme o inimigo em vítima slide 31
  32. 32. Exemplos de uso do Drools para o RobocodeQuando escaneou novamente a vítima, vá em sua direção slide 32
  33. 33. Exemplos de uso do Drools para o RobocodeQuando bater na parede, gire e retorne slide 33
  34. 34. Exemplos de uso do Drools para o RobocodeQuando bater num robô e este é o alvo, permaneça na mesma posição eapenas ande para trás slide 34
  35. 35. Exemplos de uso do Drools para o RobocodeQuando bater em qualquer outro robô, contorne-o slide 35
  36. 36. Exemplos de uso do Drools para o RobocodeQuando receber uma mensagem de “Líder inimigo encontrado”, retirequalquer vítima antes colocada e definia o líder como a vítima slide 36
  37. 37. Inteligência Artificial ROBOCODE Eduardo Araújo Oliveira http://eduoliveira.com slide 37

×