SlideShare uma empresa Scribd logo
Professor: Anderson Luís Furlan
Instalação e Configuração
 Download no link:
https://sourceforge.net/projects/robocode/
 Executar robocode-X.X.X.X-setup.jar
Necessário Java 6 ou superior instalado e
configurado o %JAVA_PATH%
Instalação e Configuração
 Passo 1:
 Passo 2:
Instalação e Configuração
 Passo 3:
 Passo 4:
Instalação e Configuração
 Passo 5:
 Passo 6:
Instalação e Configuração
 Passo 7:
Lema do Robocode:
Build the best, destroy the
rest!
Apresentado o Robocode
 O que é?
Jogo de programação, com o objetivo de desenvolver um
robô tanque de guerra para lutar contra outros tanques.
 Funcionamento
O jogador não participa ativamente da partida, ele
programa a Inteligência Artificial que irá comandar o robô,
estipulando como ele irá reagir a determinados
acontecimentos na arena de batalha.
Apresentado o Robocode
 Motivação
Jogo que visa o ensino de programação de uma maneira
mais fácil que a tradicional
 Ambiente de desenvolvimento
 Editor
 Compilador Java
 Open Source
Apresentado o Robocode
 Histórico
 Desenvolvido originalmente por Mathew Nelson em
2000
 Incentivo da IBM em 2001
 A inspiração veio de Robot Battle um jogo dos anos 80
 2005 se tornou Open Source no SourceForge
 Em 2006 Flemming Larsen assumiu o desenvolvimento
do projeto Robocode
 Em 2010 foi criado o plug-in .NET
Apresentado o Robocode
 Anatomia do Robocode
 Body (Corpo):
A lataria do tanque. É usado
para mover o robô para
frente e para trás, para
esquerda e para a direita.
Apresentado o Robocode
 Anatomia do Robocode
 Gun (Arma):
Dispara as balas, pode se
movimentar para esquerda
ou direita.
Apresentado o Robocode
 Anatomia do Robocode  Radar (Monitoramento):
Identifica os inimigos,
girando para esquerda ou
direita. Dispara um evento ao
detectar um inimigo.
É um dos recursos mais
importantes do robô, sem ele
acertar outro robô é
impossível e o movimento é
exclusivamente randômico
Apresentado o Robocode
 Restrições
 Energia:
• Utilizada nas operações do
robo.
• No disparo, pode-se
definir a potência de
energia utilizada
• É recuperada quando
acerta outro robo
Apresentado o Robocode
 Restrições
 Calor:
• Um canhão só dispara
quando o calor estiver em
0
• O calor gerado é
proporcional a potência do
disparo
Apresentado o Robocode
 Coordenadas
 Usa o sistemas de
coordenadas
cartesiano
 Medidas
 O robocode trabalha
com medidas em
pixels
Primeira batalha
 Battle > New
 Selecionar os robôs Tracker, RamFire e MyFirstRobot. Clicar
em Add para adicionar cada um.
Primeira batalha
 Em seguida, clique na aba Rules
 Altere a propriedade Number of
Rounds para 3
 Deixe a resolução em 800x600
 Clique em Start Battle
Primeira batalha
Primeira batalha
 Tela de batalha
 Velocidade
 Parar
 Reiniciar
 Pausar
 Logs
 Vida
 Pontuação
Primeira batalha
 Ao final da batalha, são apresentadas a pontuação final,
juntamente com o Rank.
Primeira batalha
 Pontuação
 Total Score: Soma de todos os pontos do robo na batalha
 Survival Score: 50 pontos são adicionados para cada robô
quando um oponente morre.
 Last Survivor Bonus: O vencedor do round ganha 10 pontos
para cada robô morto.
 Bullet Damage: 1 ponto para cada vez que atinge um
inimigo
Primeira batalha
 Pontuação
 Bullet Damage Bonus: Quando um tiro destrói um inimigo, o
robo ganha 20% a mais sobre a sua pontuação de Bullet
Damage.
 Ram Damage: 2 pontos para cada ponto de dano ao inimigo
ao bater nele.
 Ram Damage Bonus: 30% da pontuação de ram damage,
será dado ao tanque que matar outro tanque.
 1sts, 2nds, 3rds, etc.: Indica a posição do robo no round
Meu primeiro robô
 Menu Robot > Source Editor
 Na janela aberta vá no menu File > New > Robot
 Na caixa de diálogo preencha o nome do robo como
MeuPrimeiroRobo
 Em seguida preencha o pacote com o nome satc.robocode
 Irá abrir o Robocode Editor, vá em Compiler > Compile,
depois em File e Save, em seguida feche o editor.
 Crie uma batalhe de 3 rounds entre o MeuPrimeiroRobo e
o robo Fire
Meu primeiro robô
Meu primeiro robô
Meu primeiro robô
Configurações e Dicas
 Desabilitar som: Options > Preferences > Sound Options >
Sound Effects > desmarcar Enable Sound
 Habilitar visão do radar: Options > Preferences > View
Options > marcar Visible Scan Arcs
 Habilitar visão da borda: Options > Preferences > View
Options > marcar Visible Sentry Border
 Testando o robô: Utilize o robô Interactive que é
movimentado pelo mouse e teclado.
Personalizando a aparência
 setBodyColor (Color color)
 setGunColor (Color color)
 setRadarColor (Color color)
 setBulletColor (Color color)
 setScanColor (Color color)
 setAllColors (Color color)
 setColors (Color bodyColor, Color gunColor, Color
radarColor)
 setColors (Color bodyColor, Color gunColor, Color
radarColor, Color bulletColor, Color scanArcColor)
O pacote de cores usado
pelo Robocode é do pacote
java.awt.Color:
https://docs.oracle.com/javas
e/7/docs/api/java/awt/Color.
html
Métodos de movimentos
 ahead (double distance): Move o robô para frente a
quantidade x de pixels estipulada por parâmetro
 back (double distance) : Similar ao ahead só que move para
trás
 fire(double power): Dispara um tiro, com o poder do
tamanho especificado por parâmetro.
Métodos de movimentos
 turnLeft (double degrees): Vira o robô a esquerda,
rotacionando-o no ângulo do grau informado
 turnRight (double degrees): O mesmo que turnLeft, só que
para a direita
 turnRadarLeft (double degrees): Vira o radar para esquerda
 turnRadarRight (double degrees): Vira o radar para a direita
 turnGunLeft (double degrees): Vira o canhão para a esquerda
 turnGunRight (double degrees): Vira o canhão para a direita
Ajustes de movimentos
 setAdjustGunForRobotTurn (boolean independent): Vira o
canhão junto com o veículo se falso
 setAdjustRadarForGunTurn (boolean independent): Vira o
radar junto com o veículo
 setAdjustRadarForRobotTurn (boolean independent): Vira
o radar junto com o canhão
Eventos Básicos
 onScannedRobot (ScannedRobotEvent event): Método
chamado quando o robô vê outro robô pelo radar
 onHitWall (HitWallEvent event): Método chamado quando
o robô colide com a parede do campo de batalha
 onHitRobot (HitRobotEvent event): Quando o robô colide
com outro robô
 onHitByBullet (HitByBulletEvent event): O robô é atingido
por um tiro.
Eventos Básicos
 onBulletMissed (BulletMissedEvent event): Método
chamado quando um dos seus disparos erra o alvo
 onBulletHit (BulletHitEvent event): Ao acertar outro robô
com o disparo esse método é chamado
 onRobotDeath(RobotDeathEvent event): Informação
quando outro robô morre
 onWin(WinEvent event): Quando você vence a batalha
 onDeath(DeathEvent event): Quando você morre
Obtendo Informações
 getX(): Retorna a posição corrente do robô no eixo X
 getY(): Retorna a posição corrente do robô no eixo Y
 getHeight(): Altura
 getWidth(): Largura
 getBattleFieldHeight(): Informa a altura do campo de
batalha em pixels
 getBattleFieldWidth(): Largura do campo de batalha
 getGunHeading(): Direção em graus para onde o canhão
está apontando
 getRadarHeading(): Posição do radar corrente
 getHeading(): Posição em graus para onde o veículo está
direcionado
Atividades
1. Criei um robo com o nome SeuNomeRobot no pacote
meusrobos
2. Personalize a cor do corpo, do radar, da arma, da bala e
do scanner.
3. Crie um log para todos os eventos vistos anteriormente.
Por exemplo, para o evento onHitByBullet imprima no
console “Fui atingido por RobotNome”.
4. Faça sua lógica de combat para nossa primeira batalha.
Empacotando robôs
Empacotando robôs
Empacotando robôs
Empacotando robôs
Empacotando robôs
Importando robôs
Importando robôs
Robocode no NetBeans
Robocode no NetBeans
Robocode no NetBeans
Robocode no NetBeans
Robocode no NetBeans
Robocode no NetBeans
Robocode no NetBeans
Robocode no NetBeans
Robocode no NetBeans
Robocode no NetBeans
Robocode no NetBeans
Robocode no NetBeans
Robocode no NetBeans
Robocode no NetBeans
AdvancedRobot
AdvancedRobot
AdvancedRobot
 Características
 Enquanto um Robot pode só fazer uma coisa ao mesmo
tempo, o AdvancedRobot pode definir vários comandos ao
para executar ao mesmo tempo.
 São características do AdvancedRobot:
 Múltiplos eventos simultâneos – Ex.: Crazy
 Estratégias a cada turn – Ex.: Crazy
 Criados eventos customizados – Ex.: Target
 Pode manipular arquivos – Ex.: SittingDuck
 Interação com o usuário – Ex.: Interactive
AdvancedRobot
 setAhead
 setBack
 setFire
 execute
 setTurnLeft
 setTurnRight
 setTurnGunRight
 setTurnGunLeft
 setTurnRadarLeft
 setTurnRadarRight
 waitFor
 addCustomEvent
 onCustomEvent
AdvancedRobot
 Exemplos de robôs avançados
 Crazy
 Interactive
 Interactive_v2
 SittingDuck
 SpinBot
 Target
Build the best, destroy the rest!
Referências
Robocode Home. Disponível em:
<http://robocode.sourceforge.net>. Acesso em: 20 mar. 2016.
Robowiki. Disponível em: <http://robowiki.net/wiki/Robocode
>. Acesso em: 21 mar. 2016.

Mais conteúdo relacionado

PPTX
Introdução às Redes Neurais - Parte 2/2
PPTX
Scope Stack Allocation
PPTX
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
PPSX
Algoritmos de busca
PDF
언차티드4 테크아트 파트1 톤맵핑&색보정
PPTX
[160402_데브루키_박민근] UniRx 소개
PPTX
Get moving: An overview of physics in DOTS – Unite Copenhagen 2019
PDF
[데브루키] Color space gamma correction
Introdução às Redes Neurais - Parte 2/2
Scope Stack Allocation
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
Algoritmos de busca
언차티드4 테크아트 파트1 톤맵핑&색보정
[160402_데브루키_박민근] UniRx 소개
Get moving: An overview of physics in DOTS – Unite Copenhagen 2019
[데브루키] Color space gamma correction

Destaque (7)

PPTX
CARA BELAJAR EFEKTIF
PDF
Buku pemrograman web html-css-javascript
PDF
Belajar netbeans java pemula dari 0 sampai mahir
PDF
Panduan Pemrograman Berbasis Web dengan HTML, PHP, dan Database MySQL
PPT
Core java slides
PPTX
Introduction to java
CARA BELAJAR EFEKTIF
Buku pemrograman web html-css-javascript
Belajar netbeans java pemula dari 0 sampai mahir
Panduan Pemrograman Berbasis Web dengan HTML, PHP, dan Database MySQL
Core java slides
Introduction to java
Anúncio

Semelhante a Robocode (20)

PPTX
ODP
ODP
Batalhas com Robocode
PDF
Revisitando o Robocode
PDF
Robocode 666
PDF
PPTX
Apresentação 2
PDF
Robocode 101
PPT
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
PPT
drools + robocode
ODP
Projeto Final de Computação Gráfica 2012 - FCT/UNESP
PDF
Manualdekodu 151022002023-lva1-app6892
PDF
Manual de kodu
PPT
Combate de Robôs agora se chama Vaporaria (tchau RobotJS)
PPTX
(Py CS1)_ Lesson 1 - Syntax & Sequences.pptx
PPTX
INTRODUÇÃO AO DESENVOLVIMENTO DE JOGOS DIGITAIS.pptx
PDF
Realidade Aumentada
PPSX
Júlio Pescuite - Advanced Topics for Game Developers
PDF
Botnets
Batalhas com Robocode
Revisitando o Robocode
Robocode 666
Apresentação 2
Robocode 101
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
drools + robocode
Projeto Final de Computação Gráfica 2012 - FCT/UNESP
Manualdekodu 151022002023-lva1-app6892
Manual de kodu
Combate de Robôs agora se chama Vaporaria (tchau RobotJS)
(Py CS1)_ Lesson 1 - Syntax & Sequences.pptx
INTRODUÇÃO AO DESENVOLVIMENTO DE JOGOS DIGITAIS.pptx
Realidade Aumentada
Júlio Pescuite - Advanced Topics for Game Developers
Botnets
Anúncio

Último (20)

PDF
RELATÓRIO DE ESTÁGIO SURVISIONADO: NEUROPSICOPEDAGOGIA INSTITUCIONAL, CLÍNIC...
PPTX
Realismo e Naturalismo: Aluísio Azevedo.
PPT
História e Evolução dos Computadores domésticos
PDF
Metabolismo_energético_3ano_pre_vest_2026.pdf
PPTX
GUERRAFRIA.pptdddddddddddddddddddddddddx
PPTX
16. MODERNISMO - PRIMEIRA GERAÇÃO - EDIÇÃO 2021 (1).pptx
PPTX
O Romantismo e a identidade brasileira..
PDF
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
PPTX
TREINAMENTO DE INSPETOR DE ANDAIMES.pptx
PDF
Organizador Curricular da Educação em Tempo Integral.pdf
PDF
[Slides] A Literatura no ENEM 2017 (1).pdf
PDF
O retorno a origem (islã Islamismo)
PDF
Extintores e Acessórios por Francisco Borges.pdf
PPTX
MENDEL - Aula sobre Mendel - Genética EM
PDF
A provisão de jojuador (ramadã) islamismo
PPTX
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...
PDF
Ementa 2 semestre PEI Orientação de estudo
PPTX
Pedagogia em Ambientes Não Escolares.pptx
PPTX
Revolução Industrial - Aula Expositiva - 3U4.pptx
PDF
embriologia_animal_aula_share_2026_semestre
RELATÓRIO DE ESTÁGIO SURVISIONADO: NEUROPSICOPEDAGOGIA INSTITUCIONAL, CLÍNIC...
Realismo e Naturalismo: Aluísio Azevedo.
História e Evolução dos Computadores domésticos
Metabolismo_energético_3ano_pre_vest_2026.pdf
GUERRAFRIA.pptdddddddddddddddddddddddddx
16. MODERNISMO - PRIMEIRA GERAÇÃO - EDIÇÃO 2021 (1).pptx
O Romantismo e a identidade brasileira..
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
TREINAMENTO DE INSPETOR DE ANDAIMES.pptx
Organizador Curricular da Educação em Tempo Integral.pdf
[Slides] A Literatura no ENEM 2017 (1).pdf
O retorno a origem (islã Islamismo)
Extintores e Acessórios por Francisco Borges.pdf
MENDEL - Aula sobre Mendel - Genética EM
A provisão de jojuador (ramadã) islamismo
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...
Ementa 2 semestre PEI Orientação de estudo
Pedagogia em Ambientes Não Escolares.pptx
Revolução Industrial - Aula Expositiva - 3U4.pptx
embriologia_animal_aula_share_2026_semestre

Robocode

  • 2. Instalação e Configuração  Download no link: https://sourceforge.net/projects/robocode/  Executar robocode-X.X.X.X-setup.jar Necessário Java 6 ou superior instalado e configurado o %JAVA_PATH%
  • 3. Instalação e Configuração  Passo 1:  Passo 2:
  • 4. Instalação e Configuração  Passo 3:  Passo 4:
  • 5. Instalação e Configuração  Passo 5:  Passo 6:
  • 6. Instalação e Configuração  Passo 7: Lema do Robocode: Build the best, destroy the rest!
  • 7. Apresentado o Robocode  O que é? Jogo de programação, com o objetivo de desenvolver um robô tanque de guerra para lutar contra outros tanques.  Funcionamento O jogador não participa ativamente da partida, ele programa a Inteligência Artificial que irá comandar o robô, estipulando como ele irá reagir a determinados acontecimentos na arena de batalha.
  • 8. Apresentado o Robocode  Motivação Jogo que visa o ensino de programação de uma maneira mais fácil que a tradicional  Ambiente de desenvolvimento  Editor  Compilador Java  Open Source
  • 9. Apresentado o Robocode  Histórico  Desenvolvido originalmente por Mathew Nelson em 2000  Incentivo da IBM em 2001  A inspiração veio de Robot Battle um jogo dos anos 80  2005 se tornou Open Source no SourceForge  Em 2006 Flemming Larsen assumiu o desenvolvimento do projeto Robocode  Em 2010 foi criado o plug-in .NET
  • 10. Apresentado o Robocode  Anatomia do Robocode  Body (Corpo): A lataria do tanque. É usado para mover o robô para frente e para trás, para esquerda e para a direita.
  • 11. Apresentado o Robocode  Anatomia do Robocode  Gun (Arma): Dispara as balas, pode se movimentar para esquerda ou direita.
  • 12. Apresentado o Robocode  Anatomia do Robocode  Radar (Monitoramento): Identifica os inimigos, girando para esquerda ou direita. Dispara um evento ao detectar um inimigo. É um dos recursos mais importantes do robô, sem ele acertar outro robô é impossível e o movimento é exclusivamente randômico
  • 13. Apresentado o Robocode  Restrições  Energia: • Utilizada nas operações do robo. • No disparo, pode-se definir a potência de energia utilizada • É recuperada quando acerta outro robo
  • 14. Apresentado o Robocode  Restrições  Calor: • Um canhão só dispara quando o calor estiver em 0 • O calor gerado é proporcional a potência do disparo
  • 15. Apresentado o Robocode  Coordenadas  Usa o sistemas de coordenadas cartesiano  Medidas  O robocode trabalha com medidas em pixels
  • 16. Primeira batalha  Battle > New  Selecionar os robôs Tracker, RamFire e MyFirstRobot. Clicar em Add para adicionar cada um.
  • 17. Primeira batalha  Em seguida, clique na aba Rules  Altere a propriedade Number of Rounds para 3  Deixe a resolução em 800x600  Clique em Start Battle
  • 19. Primeira batalha  Tela de batalha  Velocidade  Parar  Reiniciar  Pausar  Logs  Vida  Pontuação
  • 20. Primeira batalha  Ao final da batalha, são apresentadas a pontuação final, juntamente com o Rank.
  • 21. Primeira batalha  Pontuação  Total Score: Soma de todos os pontos do robo na batalha  Survival Score: 50 pontos são adicionados para cada robô quando um oponente morre.  Last Survivor Bonus: O vencedor do round ganha 10 pontos para cada robô morto.  Bullet Damage: 1 ponto para cada vez que atinge um inimigo
  • 22. Primeira batalha  Pontuação  Bullet Damage Bonus: Quando um tiro destrói um inimigo, o robo ganha 20% a mais sobre a sua pontuação de Bullet Damage.  Ram Damage: 2 pontos para cada ponto de dano ao inimigo ao bater nele.  Ram Damage Bonus: 30% da pontuação de ram damage, será dado ao tanque que matar outro tanque.  1sts, 2nds, 3rds, etc.: Indica a posição do robo no round
  • 23. Meu primeiro robô  Menu Robot > Source Editor  Na janela aberta vá no menu File > New > Robot  Na caixa de diálogo preencha o nome do robo como MeuPrimeiroRobo  Em seguida preencha o pacote com o nome satc.robocode  Irá abrir o Robocode Editor, vá em Compiler > Compile, depois em File e Save, em seguida feche o editor.  Crie uma batalhe de 3 rounds entre o MeuPrimeiroRobo e o robo Fire
  • 27. Configurações e Dicas  Desabilitar som: Options > Preferences > Sound Options > Sound Effects > desmarcar Enable Sound  Habilitar visão do radar: Options > Preferences > View Options > marcar Visible Scan Arcs  Habilitar visão da borda: Options > Preferences > View Options > marcar Visible Sentry Border  Testando o robô: Utilize o robô Interactive que é movimentado pelo mouse e teclado.
  • 28. Personalizando a aparência  setBodyColor (Color color)  setGunColor (Color color)  setRadarColor (Color color)  setBulletColor (Color color)  setScanColor (Color color)  setAllColors (Color color)  setColors (Color bodyColor, Color gunColor, Color radarColor)  setColors (Color bodyColor, Color gunColor, Color radarColor, Color bulletColor, Color scanArcColor) O pacote de cores usado pelo Robocode é do pacote java.awt.Color: https://docs.oracle.com/javas e/7/docs/api/java/awt/Color. html
  • 29. Métodos de movimentos  ahead (double distance): Move o robô para frente a quantidade x de pixels estipulada por parâmetro  back (double distance) : Similar ao ahead só que move para trás  fire(double power): Dispara um tiro, com o poder do tamanho especificado por parâmetro.
  • 30. Métodos de movimentos  turnLeft (double degrees): Vira o robô a esquerda, rotacionando-o no ângulo do grau informado  turnRight (double degrees): O mesmo que turnLeft, só que para a direita  turnRadarLeft (double degrees): Vira o radar para esquerda  turnRadarRight (double degrees): Vira o radar para a direita  turnGunLeft (double degrees): Vira o canhão para a esquerda  turnGunRight (double degrees): Vira o canhão para a direita
  • 31. Ajustes de movimentos  setAdjustGunForRobotTurn (boolean independent): Vira o canhão junto com o veículo se falso  setAdjustRadarForGunTurn (boolean independent): Vira o radar junto com o veículo  setAdjustRadarForRobotTurn (boolean independent): Vira o radar junto com o canhão
  • 32. Eventos Básicos  onScannedRobot (ScannedRobotEvent event): Método chamado quando o robô vê outro robô pelo radar  onHitWall (HitWallEvent event): Método chamado quando o robô colide com a parede do campo de batalha  onHitRobot (HitRobotEvent event): Quando o robô colide com outro robô  onHitByBullet (HitByBulletEvent event): O robô é atingido por um tiro.
  • 33. Eventos Básicos  onBulletMissed (BulletMissedEvent event): Método chamado quando um dos seus disparos erra o alvo  onBulletHit (BulletHitEvent event): Ao acertar outro robô com o disparo esse método é chamado  onRobotDeath(RobotDeathEvent event): Informação quando outro robô morre  onWin(WinEvent event): Quando você vence a batalha  onDeath(DeathEvent event): Quando você morre
  • 34. Obtendo Informações  getX(): Retorna a posição corrente do robô no eixo X  getY(): Retorna a posição corrente do robô no eixo Y  getHeight(): Altura  getWidth(): Largura  getBattleFieldHeight(): Informa a altura do campo de batalha em pixels  getBattleFieldWidth(): Largura do campo de batalha  getGunHeading(): Direção em graus para onde o canhão está apontando  getRadarHeading(): Posição do radar corrente  getHeading(): Posição em graus para onde o veículo está direcionado
  • 35. Atividades 1. Criei um robo com o nome SeuNomeRobot no pacote meusrobos 2. Personalize a cor do corpo, do radar, da arma, da bala e do scanner. 3. Crie um log para todos os eventos vistos anteriormente. Por exemplo, para o evento onHitByBullet imprima no console “Fui atingido por RobotNome”. 4. Faça sua lógica de combat para nossa primeira batalha.
  • 59. AdvancedRobot  Características  Enquanto um Robot pode só fazer uma coisa ao mesmo tempo, o AdvancedRobot pode definir vários comandos ao para executar ao mesmo tempo.  São características do AdvancedRobot:  Múltiplos eventos simultâneos – Ex.: Crazy  Estratégias a cada turn – Ex.: Crazy  Criados eventos customizados – Ex.: Target  Pode manipular arquivos – Ex.: SittingDuck  Interação com o usuário – Ex.: Interactive
  • 60. AdvancedRobot  setAhead  setBack  setFire  execute  setTurnLeft  setTurnRight  setTurnGunRight  setTurnGunLeft  setTurnRadarLeft  setTurnRadarRight  waitFor  addCustomEvent  onCustomEvent
  • 61. AdvancedRobot  Exemplos de robôs avançados  Crazy  Interactive  Interactive_v2  SittingDuck  SpinBot  Target
  • 62. Build the best, destroy the rest!
  • 63. Referências Robocode Home. Disponível em: <http://robocode.sourceforge.net>. Acesso em: 20 mar. 2016. Robowiki. Disponível em: <http://robowiki.net/wiki/Robocode >. Acesso em: 21 mar. 2016.