________________________________________________________________________________________
Administração Central
Unidade do Ensino Médio e Técnico – Cetec Capacitações
2019
São Paulo
[Link]
Rua dos Andradas, 140 • Santa Ifigênia • 01208-000 • São Paulo • SP • Tel.: (11) 3324.3300
________________________________________________________________________________________
Administração Central
Unidade do Ensino Médio e Técnico – Cetec Capacitações
Material Didático sobre Robocode
Conhecendo o Robô
1 Criando nosso primeiro Robô
1.1 Ambiente de Batalha
O ambiente de batalha é o local onde será realizada a guerra entre os Robôs. Abaixo a imagem do ambiente:
1.2 Anatomia do Robô
O robô é um tanque que contém um canhão, um radar e o veículo, onde é possível programar estes três itens.
[Link]
Rua dos Andradas, 140 • Santa Ifigênia • 01208-000 • São Paulo • SP • Tel.: (11) 3324.3300
________________________________________________________________________________________
Administração Central
Unidade do Ensino Médio e Técnico – Cetec Capacitações
1.3 Criando nosso primeiro Robô
Para criar seu primeiro robô, no menu clique em Robot e depois em Source Editor:
Abrirá o seguinte editor:
No Editor que abriu clique em File, depois em New e depois em Robot.
[Link]
Rua dos Andradas, 140 • Santa Ifigênia • 01208-000 • São Paulo • SP • Tel.: (11) 3324.3300
________________________________________________________________________________________
Administração Central
Unidade do Ensino Médio e Técnico – Cetec Capacitações
Como este é o nosso primeiro robô, estou nomeando de MeuPrimeiroRobo e clique em OK.
(Obs: Sempre inicie o nome com a primeira letra em maiúsculo e sendo palavra composta as próximas letras iniciais
também maiúsculas).
A próxima tela é a nomeação do pacote, no caso foi escolhida: competição. Depois clique em OK.
[Link]
Rua dos Andradas, 140 • Santa Ifigênia • 01208-000 • São Paulo • SP • Tel.: (11) 3324.3300
________________________________________________________________________________________
Administração Central
Unidade do Ensino Médio e Técnico – Cetec Capacitações
1.4 Explicando o código gerado
Segue a explicação do código gerado automaticamente do nosso Robô.
Pacote criado. Em uma competição é
recomendado que todos as equipes criem
Importa as classes o robô indicando o mesmo nome do
do Robocode pacote.
Inclua aqui os dados da equipe
Classe criada aplicando herança, podendo
utilizar todos os recursos da classe Robot
Método que define a inicialização e configuração do Robô
Looping da sequência de comandos para o robô executar.
ahead – a distância que o robô deverá percorrer para frente
turnGunRight – gira o canhão para a direita 360 graus
back – a distância que o robô deve percorrer para tráz
[Link]
Rua dos Andradas, 140 • Santa Ifigênia • 01208-000 • São Paulo • SP • Tel.: (11) 3324.3300
________________________________________________________________________________________
Administração Central
Unidade do Ensino Médio e Técnico – Cetec Capacitações
Método que verifica se algum robô
entrou na mira, e realiza um tiro de nível
1. Quanto maior o nível do tiro, mais
energia perde.
Método que verifica quando
recebe um tiro
Método que verifica quando o
robô atinge a parede
1.5 Salvando e Compilando o Robô
Agora que vimos o código gerado automaticamente de nosso robô, para compilar temos que realizar os
seguintes passos:
1) Clique na opção do menu File e depois em Save.
[Link]
Rua dos Andradas, 140 • Santa Ifigênia • 01208-000 • São Paulo • SP • Tel.: (11) 3324.3300
________________________________________________________________________________________
Administração Central
Unidade do Ensino Médio e Técnico – Cetec Capacitações
Agora, na janela que se abre clique em SIM para escolher um diretório para salvar o código:
Como você irá perceber na figura abaixo, meu robô ficará salvo na pasta competicao, que foi criada quando
foi atribuído o nome do pacote do robô. Esta pasta está localizada em: C:\robocode\robots\competicao e o
nome do meu robô será [Link]
Agora que nosso código está salvo, precisamos compila-lo e para isso, temos que clicar no menu em Compiler
e depois em Compile:
[Link]
Rua dos Andradas, 140 • Santa Ifigênia • 01208-000 • São Paulo • SP • Tel.: (11) 3324.3300
________________________________________________________________________________________
Administração Central
Unidade do Ensino Médio e Técnico – Cetec Capacitações
O programa será compilado e será mostrado se foi compilado com sucesso ou não, como mostra a imagem a
seguir. Clique em OK para sair da tela:
2 Colocando nosso Robô na arena
Pode fechar editor de robô e voltar para a tela inicial do Robocode.
[Link]
Rua dos Andradas, 140 • Santa Ifigênia • 01208-000 • São Paulo • SP • Tel.: (11) 3324.3300
________________________________________________________________________________________
Administração Central
Unidade do Ensino Médio e Técnico – Cetec Capacitações
Agora, vamos à nossa arena, clicando em Battle, depois em New.
Vai aparecer uma janela para selecionar os robôs que irão realizar a batalha.
Botões para
adicionar robôs
para a batalha
Pacotes onde estão Botões para
criados os robôs remover robôs
para a batalha Área dos robôs
Robôs que estão dentro selecionados para batalha
do pacote selecionado
[Link]
Rua dos Andradas, 140 • Santa Ifigênia • 01208-000 • São Paulo • SP • Tel.: (11) 3324.3300
________________________________________________________________________________________
Administração Central
Unidade do Ensino Médio e Técnico – Cetec Capacitações
Ficará assim após selecionar os robôs para a batalha, e estando tudo certo, clique em NEXT:
Após clicar em Next, seremos direcionados para a aba Rules, onde podemos definir algumas configurações da batalha.
Number of Rounds: Definimos o número de Rounds da batalha.
Cooling Rate: Definimos o intervalo de tempo do tiro (entre 0.1 e 0.7)
Inactivity Time: Definimos o tempo máximo que um robô pode ficar inativo no campo de batalha antes de executar
alguma ação.
Sentry Border Size: Definimos uma cerca inserida no campo de batalha, que funciona somente com robôs que
implementam a interface BorderSentry, que têm a função básica de agirem como defensores, limitando seus
movimentos somente dentro da borda criada.
Hide Enemy Names: possui a função de ocultar os nomes dos oponentes que estão no campo de batalha.
Preferened Sizes: Definimos a dimensão do campo de batalha
[Link]
Rua dos Andradas, 140 • Santa Ifigênia • 01208-000 • São Paulo • SP • Tel.: (11) 3324.3300
________________________________________________________________________________________
Administração Central
Unidade do Ensino Médio e Técnico – Cetec Capacitações
Obs: Como já devem ter percebido o Robocode já possui vários robôs prontos e isso é muito bom, pois podemos
estudar os códigos dos robôs existentes.
Agora é só clicar em Start Battle, para iniciar a batalha.
[Link]
Rua dos Andradas, 140 • Santa Ifigênia • 01208-000 • São Paulo • SP • Tel.: (11) 3324.3300
________________________________________________________________________________________
Administração Central
Unidade do Ensino Médio e Técnico – Cetec Capacitações
Status dos Robôs
Botões para
controle do round
Barra para controlar a
velocidade da batalha
Ao final de cada batalha será mostrado o resultado:
3 Opções e Visualizações
É muito importante neste período de iniciação na área do Robocode, habilitar o SCAN, para que vocês
possam enxergar qual é a área de busca do robô.
[Link]
Rua dos Andradas, 140 • Santa Ifigênia • 01208-000 • São Paulo • SP • Tel.: (11) 3324.3300
________________________________________________________________________________________
Administração Central
Unidade do Ensino Médio e Técnico – Cetec Capacitações
Para isso, clique em Options e depois em Preferences.
4 Modificando o Código
Só para fazer um teste, vamos usar o robô que criamos e retirar parte do código para analisarmos as
alterações:
Para modificar seu primeiro robô, no menu clique em Robot, depois em Source Editor. Na tela do editor, no
menu clique em File, depois em Open e escolher o robô.
No código aberto, procure o comando WHILE e zere todos os parâmetros, como o exemplo a seguir:
while (true) {
// Replace the next 4 lines with any behavior you would like
ahead(0);
turnGunRight(0);
back(0);
turnGunRight(0);
}
[Link]
Rua dos Andradas, 140 • Santa Ifigênia • 01208-000 • São Paulo • SP • Tel.: (11) 3324.3300
________________________________________________________________________________________
Administração Central
Unidade do Ensino Médio e Técnico – Cetec Capacitações
Agora, devemos salvar clicando em File e depois em Save. E como já fizemos anteriormente, devemos
compilar o código clicando em Compiler e depois em Compile.
Coloque agora novamente os dois robôs na arena. Com estas modificações, podemos notar que nosso robô
não procura mais pelo robô inimigo e que ele só se movimenta se for atingido por algum tiro. Agora, é a hora
de iniciar os testes e modificar um parâmetro por vez para ir cada vez mais apren dendo sobre o robô. Mãos a
obra!
5 Referências
[1] Autor Desconhecido. GSIGMA – Universidade Federal de São Carlos. Disponível em:
[Link] Acesso em 12 de março de 2019.
[2] Autor Desconhecido. Site Oficial ROBOCODE. Disponível em: [Link] Acesso em
11 de março de 2019.
[Link]
Rua dos Andradas, 140 • Santa Ifigênia • 01208-000 • São Paulo • SP • Tel.: (11) 3324.3300