Como criei um jogo para android

Pra começar digo que tenho experiência em criação de jogos em várias linguagens de programação.
Tive acesso a um tablet e quis fazer um jogo.
Procurei no google compiladores para tablet pra ver em qual linguagem teria que programar.
Achei o AIDE e vi que pra fazer o jogo teria que programar em java.
E vi que precisava de um cartao micro sd para servir de hd pro tablet.

Passo 1)

Instalar o AIDE pelo google play




Criar uma aplicação chamada Cobrinha

O AIDE ira gerar um monte de código.


Execute o código gerado. (canto superior direito, run)


O android irá perguntar se deseja instalar o aplicativo...



Esse primeiro resultado e o hello world. Devagar chegaremos ao jogo.

Passo 2)

Começando a codificar

Vamos eliminar o código desnecessario que o AIDE gerou:






Vamos por pra executar de novo, o android irá perguntar se deseja substituir o aplicativo:


Passo 3)

Preparar para Substituir a View:
No código que o AIDE gerou ele cria uma view (uma tela) com um fundo preto, e escreve um pequeno texto...
Vamos criar uma outra view que vai ser usada como tabuleiro para o jogo.
Pra isso temos que criar uma classe demoview que extende a classe view...

Nessa classe que criamos... precisamos implementar o construtor

Quando implementamos o construtor precisamos incluir a importação do pacote context

Vamos compilar e executar de novo e ver que nada mudou por enquanto

Vamos fazer o programa usar a view que criamos, mas antes vamos sobrescrever o método ondraw para podermos desenhar os elementos do jogo na tela

Quando digitamos a assinatura do método onDraw(Canvas meucanvas) da erro porque precisamos importar o pacote canvas

Salve compile e execute e veja que ainda nada mudou

Vamos fazer o método onDraw pintar a tela de branco, depois vamos fazer o programar usar a tela em branco que estamos criando

Pra isso precisamos importar a biblioteca Paint


Vamos também importar a biblioteca Color



Escrevemos um trecho de código que instrui o programa a desenhar a tela de branco, mas falta chamar esse trecho de código:
Vamos instanciar a classe demoview:

E instruir o programa a usar a view d ao invez da view padrao que o AIDE deixou.

Agora sim, vamos salvar compilar e executar e vamos ver uma diferença


Passo 4)

Vamos desenhar um quadrado no meio da tela, depois faremos esse quadrado se mover...
Para desenhar um simples quadrado no meio da tela vamos usar a função drawrect

Agora vamos fazer um quadradinho menor, que vai ter a posicao definida pelas vaxiaveis cx e cy



Esse trecho de código vai ser muito util.
Convencionamos que o quadrado amarelo tem 14x14 quadrados que podem ser gomos da cobrinha.
Pintamos o 2,2 mas durante o jogo qualquer quadrado pode estar pintado ou não, e para pintar cada quadrado usamos a função drawrect, e nos parametros fazemos a conta para ver o posicionamento do quadrado no tabuleiro


Passo 5)

Vamos fazer o quadrado se mover pelo tabuleiro.
E isso não é simples... precisamos de um timer, um runnable, um handler e mais código...
Vamos comecar pelo handler

Vamos precisar importar a biblioteca handler

Depois vamos declarar a runnable

Agora vamos declarar a função UpdateGUI que ira desenhar quadro por quadro do jogo.
Essa função incrementa o cx, entao o quadrado sera desenhado mais a direita...
,se cx = 15 entao o quadrado volta pro inicio...
Essa função chama o método post do handler, que chama o método invalidate da nossa view, que redesenha a tela

Pra fazer tudo funcionar direitinho vamo criar o timer

Vamos impotar as bibliotecas Timer e TimerTask

Agora vamos fazer a função principal do programa chamar a função updateGUI em intervalos regulares de tempo

Vamos salvar, compliar executar e ver o movimento

Passo 6)

Vamos por um titulo na barra

Passo 7)

Vamos desenhar os botões que farão a cobrinha mudar de direcao

E fazer os botões capturarem o pressionar a tela do tablet
Para isso vamos importar as bibliotecas OntouchListener e MotionEvent

E vamos criar uma variável direcao que armazena o lado que a cobra ta indo...
0 se a cobra vai para esq, 1 se a cobra vai pra cima, 2 se a cobra vai para a direita e 3 se a cobra vai pra baixo

Esse trecho de código serve para o programa identificar as coordenadas(x,y) do toque na tela
Se o toque for sobre o botão entao a direcao e alterada

Passo 8)

Vamos fazer a cobra andar de acordo com a direcao
A função updateGUI muda o cx ou o cy de acordo com a direcao


Passo 9)

Vamos fazer o programa desenhar na tela a maçã
Pra isso vamos precisar que o programa sorteie uma posicao aleatoria para a maçã
Vamos importar a biblioteca random

Vamos criar as variaveis macax e macay que armazenam as coordenadas da maçã


Escrevemos o código que desenha a maçã nas coordenadas selecionadas

Pode salvar compilar e executar

Passo 10)

Fazer a cobrinha aumentar conforme ela come as maçãs.
Para isso precisamos transformar as variaveis cx e cy em vetores(arrays) : Cx armazena um valor só. Depois de transfarmar em vetor, cx[0] armazena um valor, cx[1] armazena outro e etc...
Cada gomo da cobra fica armazenado em uma posicao do array.


Mudamos todas as ocorrencias de cx e cy por cx[0] e cy[0]


Vamos criar uma variável tamanho que armazena o tamanho da cobrinha

Quando o primeiro gomo da cobrinha(cx[0],cy[0]) estiver na mesma posicao que a maçã (macax,macay) entao o tamanho aumenta


Precisamos fazer o programa desenhar todos os gomos da cobrinha,não apenas o primeiro
Ainda não esta aumentando porque falta atribuir o valor do primero gomo para o segundo
Agora a cada vez que a cobra anda as coordenadas andam nos vetores cx e cy
Salve compile e execute



Eu fiz o jogo da cobrinha. Voce tambem pode fazer.

Calculo que pra voce seguir esse tutorial voce precise de pelo menos uma semana... um pouco cada dia.

O programa final pode ser encontrado no site www.rodrigoschio.com.br
Qualquer dúvida envie um email para schio.rodrigo@gmail.com