Robocode é uma plataforma de desenvolvimento em JAVA que permite a criação de robôs de combate para competição entre equipes.
Ela pode ser utilizada no aprendizado da linguagem JAVA de forma divertida e rápida por pessoas com qualquer grau de conhecimento em linguagem de programação.
A formação de equipes e a competição entre os alunos é muito importante no processo de aprendizado porque estimula os alunos a buscarem o conhecimento necessário para superar seus colegas e vencerem a competição.
Quando se inicia a criação de um novo robô pela plataforma Robocode, o código já vem pré-programado com diversas funções de atuação do robô, e estas podem ser editadas, excluídas, ampliadas ou complementadas pelo usuário.
Assim, um iniciante sem nenhum conhecimento pode ser instruído rapidamente para utilizar a plataforma de forma básica e gradativamente ir agregando conhecimentos que lhe permitam melhorar o código do robô, tornando-o mais competitivo.
Já existem no Robocode alguns robôs exemplo disponíveis para serem testados, com seu código aberto para visualização e edição. Ao visualizar o código destes robôs, o usuário pode entender como ele executa suas funções e agregá-las ao seu robô.
É importante lembrar que em campeonatos de ROBOCODE não são permitidos plágios de códigos de outros robôs, e caso sejam detectados, serão desclassificados.
Na figura acima pode ser vista a arena de batalha entre os robôs, podendo a mesma ser programada em relação ao seu tamanho, número de rounds, velocidade da partida e algumas outras funções.
Cada robô é um objeto que possuem atributos em comum mas podem ter seus valores alterados pelo usuário. Veja na figura abaixo as partes do robô que podem ser controladas, são elas: o veículo, o radar e o canhão.
Vamos conhecer um pouco os conceitos iniciais da linguagem orientada a objeto.
A linguagem JAVA é uma linguagem orientada a objeto e possui diversos conceitos que podem ser explorados durante seu aprendizado, como: pacotes, herança, classes, instâncias, objetos, atributos, métodos, eventos, parâmetros.
Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o comportamento (definido nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos.
Conceitos Resumidos
Classe representa um conjunto de objetos com características afins. Define o comportamento dos objetos, através de métodos, e quais estados ele é capaz de manter, através de atributos.
Subclasse é uma nova classe originada de sua classe pai.
Objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos.
Atributos são características de um objeto, possuem valores.
Métodos definem as habilidades dos objetos. Dentro do programa, a utilização de um método deve afetar apenas um objeto em particular.
Herança (ou generalização) é o mecanismo pelo qual uma classe (sub-classe) pode estender outra classe (super-classe), aproveitando seus comportamentos (métodos) e variáveis possíveis (atributos).
Abstração é a habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando características menos importantes ou acidentais.
Polimorfismo é a capacidade de um método poder ser implementado de diferentes formas, ou mesmo de realizar coisas diferentes.
A tabela acima é um exemplo genérico onde a classe Ser Humano pertence a uma classe maior dos bípedes, e uma pessoa é considerada um objeto da classe e tem alguns atributos, como por exemplo o nome, que pode assumir diversos valores como João, José, etc.
Um método é uma ação que será feita pela classe e podem existir várias ações associadas à classe. Na próxima tabela mostramos um exemplo mais específico, utilizado o sistema de uma escola, por exemplo.
Veja a programação que poderíamos fazer utilizando a tabela acima.
No exemplo temos a classe Aluno criada dentro da classe Form1, tendo como atributos Nome, Nota e Media. Foi definido o método CalcMedia para calcular a média aritmética das notas do aluno. E por fim foi criado o objeto Aluno dentro da classe Aluno.
Em breve estaremos fazendo vídeos mostrando mais detalhes da plataforma ROBOCODE.
Artigo escrito pelo professor e Engenheiro Elétrico Gustavo Antonio Velho em 18 de maio de 2022.