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

Mais procurados

EV3#3: Exercicios com o sensor de ultrassons
EV3#3: Exercicios com o sensor de ultrassonsEV3#3: Exercicios com o sensor de ultrassons
EV3#3: Exercicios com o sensor de ultrassonsAna Carneirinho
 
Programando robôs Lego com NXC
Programando robôs Lego com NXC Programando robôs Lego com NXC
Programando robôs Lego com NXC Isvaldo Souza
 
EV3#7: Exercicios seguidor de linha
EV3#7: Exercicios seguidor de linhaEV3#7: Exercicios seguidor de linha
EV3#7: Exercicios seguidor de linhaAna Carneirinho
 
EV3#6: Exercicios com o sensor rotação
EV3#6: Exercicios com o sensor rotação EV3#6: Exercicios com o sensor rotação
EV3#6: Exercicios com o sensor rotação Ana Carneirinho
 

Mais procurados (6)

EV3#3: Exercicios com o sensor de ultrassons
EV3#3: Exercicios com o sensor de ultrassonsEV3#3: Exercicios com o sensor de ultrassons
EV3#3: Exercicios com o sensor de ultrassons
 
Programando robôs Lego com NXC
Programando robôs Lego com NXC Programando robôs Lego com NXC
Programando robôs Lego com NXC
 
EV3#7: Exercicios seguidor de linha
EV3#7: Exercicios seguidor de linhaEV3#7: Exercicios seguidor de linha
EV3#7: Exercicios seguidor de linha
 
Aula particulas
Aula particulasAula particulas
Aula particulas
 
EV3#6: Exercicios com o sensor rotação
EV3#6: Exercicios com o sensor rotação EV3#6: Exercicios com o sensor rotação
EV3#6: Exercicios com o sensor rotação
 
Crash course tradução
Crash course   traduçãoCrash course   tradução
Crash course tradução
 

Semelhante a Instalação e Configuração Robocode

Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
Introdução ao desenvolvimento de jogos em OGRE 3D - MackenzieIntrodução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenziejonathanblacknight
 
Combate de Robôs agora se chama Vaporaria (tchau RobotJS)
Combate de Robôs agora se chama Vaporaria (tchau RobotJS)Combate de Robôs agora se chama Vaporaria (tchau RobotJS)
Combate de Robôs agora se chama Vaporaria (tchau RobotJS)Hamilton Lima
 
Júlio Pescuite - Advanced Topics for Game Developers
Júlio Pescuite - Advanced Topics for Game DevelopersJúlio Pescuite - Advanced Topics for Game Developers
Júlio Pescuite - Advanced Topics for Game DevelopersiMasters
 
Projeto Final de Computação Gráfica 2012 - FCT/UNESP
Projeto Final de Computação Gráfica 2012 - FCT/UNESPProjeto Final de Computação Gráfica 2012 - FCT/UNESP
Projeto Final de Computação Gráfica 2012 - FCT/UNESPErick Santos
 
Manualdekodu 151022002023-lva1-app6892
Manualdekodu 151022002023-lva1-app6892Manualdekodu 151022002023-lva1-app6892
Manualdekodu 151022002023-lva1-app6892Alzira Martinho
 
Oficina Android - Games com AndEngine - Dia 1
Oficina Android - Games com AndEngine - Dia 1Oficina Android - Games com AndEngine - Dia 1
Oficina Android - Games com AndEngine - Dia 1Odair Bonin Borges
 
[MO901] Android 下忍 – 2011
[MO901] Android 下忍 – 2011[MO901] Android 下忍 – 2011
[MO901] Android 下忍 – 2011Douglas Drumond
 
Robô seguidor de linha
Robô seguidor de linhaRobô seguidor de linha
Robô seguidor de linhaIsvaldo Souza
 

Semelhante a Instalação e Configuração Robocode (18)

Batalhas com Robocode
Batalhas com RobocodeBatalhas com Robocode
Batalhas com Robocode
 
Robocode
RobocodeRobocode
Robocode
 
Robocode
RobocodeRobocode
Robocode
 
Revisitando o Robocode
Revisitando o RobocodeRevisitando o Robocode
Revisitando o Robocode
 
Robocode
RobocodeRobocode
Robocode
 
Robocode 666
Robocode 666Robocode 666
Robocode 666
 
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
Introdução ao desenvolvimento de jogos em OGRE 3D - MackenzieIntrodução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
 
Apresentação 2
Apresentação 2Apresentação 2
Apresentação 2
 
Robocode 101
Robocode 101Robocode 101
Robocode 101
 
Combate de Robôs agora se chama Vaporaria (tchau RobotJS)
Combate de Robôs agora se chama Vaporaria (tchau RobotJS)Combate de Robôs agora se chama Vaporaria (tchau RobotJS)
Combate de Robôs agora se chama Vaporaria (tchau RobotJS)
 
Júlio Pescuite - Advanced Topics for Game Developers
Júlio Pescuite - Advanced Topics for Game DevelopersJúlio Pescuite - Advanced Topics for Game Developers
Júlio Pescuite - Advanced Topics for Game Developers
 
Projeto Final de Computação Gráfica 2012 - FCT/UNESP
Projeto Final de Computação Gráfica 2012 - FCT/UNESPProjeto Final de Computação Gráfica 2012 - FCT/UNESP
Projeto Final de Computação Gráfica 2012 - FCT/UNESP
 
drools + robocode
drools + robocodedrools + robocode
drools + robocode
 
Manualdekodu 151022002023-lva1-app6892
Manualdekodu 151022002023-lva1-app6892Manualdekodu 151022002023-lva1-app6892
Manualdekodu 151022002023-lva1-app6892
 
Manual de kodu
Manual de koduManual de kodu
Manual de kodu
 
Oficina Android - Games com AndEngine - Dia 1
Oficina Android - Games com AndEngine - Dia 1Oficina Android - Games com AndEngine - Dia 1
Oficina Android - Games com AndEngine - Dia 1
 
[MO901] Android 下忍 – 2011
[MO901] Android 下忍 – 2011[MO901] Android 下忍 – 2011
[MO901] Android 下忍 – 2011
 
Robô seguidor de linha
Robô seguidor de linhaRobô seguidor de linha
Robô seguidor de linha
 

Último

ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇJaineCarolaineLima
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
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
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
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
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
"É 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
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresAnaCarinaKucharski1
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
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
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
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
 
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
 

Último (20)

ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
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)
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
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?
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
"É 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...
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
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
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
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...
 
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
 

Instalação e Configuração 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 RobotSeuNome. 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.
  • 43. 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.