Clique aqui e veja todas as aulas
Aula 2: Como Instalar o Robocode - Guia Passo a Passo !
Aula 3: Conhecendo a Linguagem Java
Aula 4: Explorando o Ambiente do Robocode
Aula 5: Criando seu Primeiro Robô no Robocode
Aula 6: Movimentação Básica – Fazendo seu Robô se Mover
Aula 7: Usando o Radar – Detectando Outros Robôs
Aula 8: Programando Ataques – Armas e Fogo
Aula 9: Evitando Paredes e Obstáculos
Aula 10: Estratégias Defensivas no Robocode
Aula 11: Implementando Estratégias Simples de Batalha
Aula 12: Depurando e Testando seu Robô
Aula 13: Técnicas Avançadas de Programação no Robocode
Aula 14: Participando de Batalhas e Torneios
Aula 15: Dicas para Otimizar o Desempenho do seu Robô
Aula 16: Conclusão – A Jornada no Mundo do Robocode
Comandos de Movimento no Robocode
Agora que seu robô já está vivo e pronto para agir, é hora de ensiná-lo a se movimentar pela arena de forma mais inteligente. A movimentação é fundamental tanto para atacar quanto para se defender.
1. Avançar e Recuar
ahead(double distance);Faz o robô avançar a distância especificada em pixels. Se o valor for negativo, ele recua.
back(double distance);Faz o robô recuar a distância especificada em pixels. Se o valor for negativo, ele avança.
Exemplo:
ahead(100); // Avança 100 pixels
back(50); // Recuar 50 pixels2. Virar à Esquerda e à Direita
turnLeft(double degrees);Gira o robô no sentido anti-horário (esquerda) pelo número de graus especificado.
turnRight(double degrees);Gira o robô no sentido horário (direita) pelo número de graus especificado.
Exemplo:
turnRight(90); // Vira 90 graus para a direita
turnLeft(45); // Vira 45 graus para a esquerda3. Virar a Arma e o Radar
turnGunLeft(double degrees);eturnGunRight(double degrees);Gira a arma independentemente do corpo do robô.
turnRadarLeft(double degrees);eturnRadarRight(double degrees);Gira o radar independentemente do corpo e da arma.
Controlando Direção e Velocidade
1. Movimentos Simultâneos
O Robocode permite que você mova o corpo, a arma e o radar do robô ao mesmo tempo, de forma independente.
Exemplo:
// Enquanto o robô avança, ele gira a arma e o radar
ahead(100);
turnGunRight(360);
turnRadarRight(360);2. Usando Métodos set para Movimentos Assíncronos
Para movimentos mais avançados, podemos usar métodos que começam com set, permitindo que o robô continue executando outras ações enquanto se move.
setAhead(double distance);setTurnRight(double degrees);setTurnGunRight(double degrees);setTurnRadarRight(double degrees);
Após definir os movimentos com os métodos set, usamos o método execute(); para iniciá-los.
Exemplo:
setAhead(100);
setTurnRight(90);
execute(); // Inicia os movimentos simultaneamente3. Ajustando a Velocidade Máxima
Você pode controlar a velocidade máxima do robô usando o método setMaxVelocity(double velocity);, onde a velocidade máxima padrão é 8 pixels por turno.
Exemplo:
setMaxVelocity(5); // Limita a velocidade máxima a 5 pixels por turnoExercícios Práticos de Movimentação
Vamos praticar alguns movimentos básicos para entender melhor como controlar o robô.
Exercício 1: Movendo em Quadrado
Faça o robô se mover em um quadrado, avançando 100 pixels e virando 90 graus à direita, quatro vezes.
Código Exemplo:
public void run() {
while(true) {
ahead(100);
turnRight(90);
}
}Exercício 2: Movimento em Zigue-zague
Crie um padrão de zigue-zague alternando movimentos para frente e giros.
Código Exemplo:
public void run() {
while(true) {
ahead(100);
turnRight(45);
ahead(100);
turnLeft(90);
}
}Exercício 3: Movimento Aleatório
Para tornar seu robô menos previsível, utilize valores aleatórios para os movimentos.
Código Exemplo:
import java.util.Random;
public void run() {
Random rand = new Random();
while(true) {
double distance = rand.nextDouble() * 200; // Distância entre 0 e 200
double angle = rand.nextDouble() * 360 - 180; // Ângulo entre -180 e 180
ahead(distance);
turnRight(angle);
}
}Observação: O uso de movimentos aleatórios pode tornar seu robô mais difícil de acertar pelos inimigos.
Dicas para Melhorar a Movimentação do seu Robô
- Evite Padrões Previsíveis: Robôs inimigos podem aproveitar movimentos repetitivos.
- Mantenha-se em Movimento: Um robô parado é um alvo fácil.
- Gerencie o Espaço: Conheça os limites da arena para não ficar preso nas paredes.
Resumo da Aula
Nesta aula, aprendemos os comandos básicos de movimentação no Robocode, como controlar a direção e a velocidade do robô, e praticamos com exercícios para consolidar o aprendizado. A movimentação é uma habilidade essencial para criar robôs eficazes na batalha.
O que vem a seguir?
Na próxima aula, vamos explorar como usar o radar para detectar outros robôs na arena. Prepare-se para ensinar seu robô a enxergar os inimigos e reagir a eles!
