Vou fazer uma série de artigos mostrando o passo a passo para desenvolver games com o objetivo de ensinar química, física e matemática.
Como a intenção é fazer do básico ao avançado e ser possível a qualquer um com boa vontade seguir o caminho das pedras vamos iniciar com a parte que acho a mais fundamental: O Algoritmo. Mas vamos ver no modo mão na massa, usando Java. Para isso você pode utilizar qualquer IDE de desenvolvimento em Java de sua preferência, sugiro utilizar o
Eclipse. Não esqueça de instalar o pacote de desenvolvimento do JAVA ou simplesmente SDK do JAVA. Outras ferramentas serão citadas nos momentos oportunos.
Vamos lá!
Capitulo 1: Conceitos básicos do Java.
O Java é uma linguagem moderna de programação de alto nível focada em produtividade e com centenas se não milhares de bibliotecas, classes e outros recursos prontos para utilização. Foi concebida em 1990 pela Sun Microsystems, e atualmente é uma linguagem mantida pela Oracle. É uma linguagem interpretada, o que quer dizer que o mesmo código pode ser utilizado em qualquer sistema operacional onde exista um interpretador Java instalado normalmente o runtime Java.
Diferentemente do JDK que é destinado a quem vai programar em JAVA, o runtime é destinado ao usuários de programas escritos em JAVA. Como o runtime pode ser instalado na maioria dos sistemas operacionais como o Windows, Linux, OS, Unix, Android e outros, o código precisa ser escrito apenas uma vez e funcionará em qualquer sistema operacional. Isso facilita muito a vida do programador e é uma das razões fortes para a escolha desta linguagem. A outra é a estabilidade. Mais de três bilhões de dispositivos no planeta rodam programas em JAVA o que quer dizer que já foi testado e aprovado na maioria das situações cotidianas. Basicamente é uma linguagem do tipo Write Once, Run Anywhere!
Além disso é uma linguagem orientada a objetos, o que quer dizer que programamos tendo como modelo o mundo real. Explicando: Programamos utilizando o conceito de classes de objetos da mesma forma como o usamos no mundo real, por exemplo: classe veículos. Esta classe pode representar qualquer veículo. Dentro da classe temos variáveis que guardam as características do veículo: velocidade máxima, aceleração, consumo, altura, largura, preço, peso, etc. E além disso a classe também possui os métodos de modificação destes veículos, por exemplo: o método acelerar, o método frear, o método abastecer e qualquer outro método que modifique as características dos objetos que fizerem parte desta classe. A figura 1 abaixo mostra um diagrama da classe veículo.
O código desta classe ficaria assim (repare que não se usam acentos, e as barras // são usadas para comentários em linha única): //Declaração da classe public class Veiculo { //Declaração das características ou simplesmente variáveis private double velocidade; private double litrosDeCombustivel; private double velocidadeMaxima; private double largura; private double altura; private double aceleracao; private double consumo; private double preco; //Declaração dos métodos que modificam as características (variáveis) dos objetos da classe. Aqui entram os algoritmos, ou seja a sequência de passoa para resolver o problema public Double Acelerar() { velocidade++; //o ++ incrementa um no valor da variável velocidade return velocidade; } public Double Frear() { velocidade--; //o -- decrementa um no valor da variável velocidade return velocidade; } public Double Abastecer() { litrosDeCombustivel++; return litrosDeCombustivel; } } //Fim da Classe Veículo
A partir desta declaração podemos criar vários veículos pela sua simples instanciação, ou seja criando a instância de um objeto desta classe. Isso é feito assim:
Veiculo veiculo = new Veiculo();
Veiculo opala = new Veiculo();
Veiculo voyage = new Veiculo();
Agora temos três objetos da classe Veiculo criados: um veiculo, um opala e um voyage! Perceba que escrevemos o veiculo em minúsculas (e os acentos não serão usados quando me referir a veriáveis e objetos) e isso não é por acaso, objetos e variáveis sempre seguem o padrão camelCase (inicia com minúscula e usa maiúsculas ao trocar de palavra). Neste objeto podemos utilizar os métodos da classe, ou seja podemos acelerar:
veiculo.Acelerar(); //O objeto veiculo terá a velocidade acrecida de um opala.Acelerar(); //O objeto opala terá a velocidade acrecida de um voyage.Acelerar(); //O objeto voyage terá a velocidade acrecida de um
Também podemos usar todos os outros métodos em qualquer um dos objetos da classe Veiculo que já tenha sido criado através da palavra chave new como mostrado acima.
opala.Abastecer(); //Aumenta os litrosDeCombustivel do opala em um
opala.Acelerar(); //Aumenta a velocidade do opala em um
opala.Frear(); //Diminui a velocidade do opala em um
Perceba que cada objeto criado tem suas próprias características individualizadas, e por isso a velocidade do opala pode ser diferente da velocidade do voyage! Isso economiza muito código e permite sua reutilização para a instanciação de quantos objetos da classe Veiculo forem necessários. E isso é o que se chama de paradigma de programação orientado a objetos.
A segunda parte sai dia 16/10/2020, obrigado pela leitura!
Comentários
Postar um comentário
Seu comentário é sempre bem vindo. Em alguns casos analisaremos o conteúdo antes da publicação.