"Joguinho" básico para aprendizagem

Segue em anexo um “joguinho” que eu fiz.

:smiley:

Entre aspas porque não é realmente um joguinho, é um programinha simples onde pode-se mover um quadrado azul pela tela usando os botõezinhos fornecidos.

Entretanto, esse programinha tem muitos conceitos por trás de si, ele usa uma arquitetura model-view-controller e utiliza JFrame com múltiplos layouts, JPanel, JButton, Thread, MouseListener, classes internas, Java2D (BufferedImage, Graphics2D, anti-flickering, buffering, anti-tearing, anti-delay…), etc…

Tem realmente toda a estrutura de um jogo feito com orientação a objetos e usando os recursos da API 2D para o Java.

Eu estou ajudando o pessoal da minha faculdade a aprender Java para desenvolver jogos, e esse programinha tem muitos conceitos básicos úteis que podem servir de ponto de partida para um jogo bem mais elaborado.

Os métodos, variáveis, classes e pacotes estão todos em português para facilitar o entendimento.

Então segue em anexo um .jar auto-executável, é só baixar e clicar nele duas vezes (atenção: requer Java 1.5). Se não rodar, entre no prompt e digite:

java -jar -cp . “Animação 1.jar” visao.Janela

Segue também, no arquivo .zip, o código-fonte. Não usa nenhuma biblioteca extra, só as bibliotecas padrão do Java, então é fácil colocar esse projeto no Eclipse, por exemplo, e fazer rodar.

Divirtam-se, e aproveitem esse post aqui para tirar dúvidas sobre o código, perguntar sobre os conceitos envolvidos, etc…

:wink:

Fox,

Eu já fiz algo bem parecido, só que ao invés de botões para se mover, eu usei o teclado mesmo. Dava para andar até na diagonal.

Estava querendo fazer um 'Arkanoid", aquele joguinho tipo barrinha -> bolinha -> quadradinhos que são acertados pela bolinha. Vou te dizer, a parte mais difícil foi a colisão.

Se você quiser eu te envio por email, o código deve estar um lixo porque foi feito quando eu nem sabia o que era java direito.
Se quiser trocar algumas idéias quanto a programação para jogos, estou à disposição - danilo[ponto]balarini[arroba]gmail[ponto]com

Quem sabe a gente não desenvolve algo juntos?

Eu quero o código, sim.
:stuck_out_tongue:

Quanto a desenvolvermos um jogo, já está topado.
:smiley:

Eu tenho um Tetris quase pronto e funcional, posso te mandar o código também!
8)