SlideShare une entreprise Scribd logo
1  sur  63
Télécharger pour lire hors ligne
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.
✓ 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
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ô
✓ 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.
Configurações e Dicas
✓ 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
Personalizando a aparência
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
✓ 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
Obtendo informações
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.

Contenu connexe

Dernier

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.pptxLuizHenriquedeAlmeid6
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
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.pdfcomercial400681
 
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.pdfFrancisco Márcio Bezerra Oliveira
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
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.pdfHELENO FAVACHO
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇJaineCarolaineLima
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
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.pdfHELENO FAVACHO
 
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 cavalcanteVanessaCavalcante37
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 

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
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
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
 
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
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
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
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
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
 
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
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 

En vedette

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

En vedette (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Hands on Robocode 2017

  • 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. ✓ 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
  • 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. ✓ 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. Configurações e Dicas
  • 28. ✓ 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 Personalizando a aparência
  • 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. ✓ 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 Obtendo informações
  • 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.