quarta-feira, 25 de junho de 2008

Diagrama de classes


Como prometido ontem, acima está o diagrama de classes do projeto. Tudo revolve ao redor da classe Game, que controla o fluxo de "cenas" do jogo. Existem 2 classes que representam cenas: MenuScene, que controla menus, e PlayScene, que controla o jogo em si. Enquanto Game herda de Activity, MenuScene e PlayScene herdam de View.
O HUD (heads-up display, ou seja, as informações mostradas na tela na hora do jogo) é controlado pelo PlayScene.
Há também a classe Mp3Player, que toca/pausa/pára uma música em formato MP3, e MidiReader, que lê os .xml gerados por um programa Java em separado que fizemos. Esse programa capta eventos em arquivos .midi e a partir disso gera um sequência de botões a serem apertados durante a partida do jogo, guardando essa sequência no xml.

Bom, é basicamente isso...dou o projeto por encerrado! Parabéns a todos!

terça-feira, 24 de junho de 2008

Fim de projeto

Terminamos a implementação do Band Hero!!! Ficou melhor do que esperávamos a princípio, principalmente com a geração de sequências via midi e xml. O uso do servidor SVN ajudou bastante a manter a equipe toda a par do que estava sendo feito, bem como o diagrama de classes, que foi incrementado ao longo da implementação conforme aprendíamos a melhor maneira de fazer as coisas no Android.
O maior problema no projeto foi justamente nosso pouco conhecimento prático sobre a plataforma Android, que muitas vezes mostrou-se instável. Mesmo eu e a Érika já tendo conhecimentos sobre programação mobile, não foi trivial entender o modelo Model-View-Controller usado pelo Android.
Gostaria de agradecer ao Panda, que fez a arte do jogo (além de programar)! Ficou demais!
E a todo o restante da equipe também, pelo esforço nessas últimas semanas.
Depois coloco o diagrama de classes final aqui!

domingo, 22 de junho de 2008

Uso de XML

O uso de XML para ler as seqüências deu bastante certo. Agora então temos um programa em Java sem Android que lê o arquivo MIDI e gera a seqüência e na parte do Android esse XML gerado é lido.

quinta-feira, 19 de junho de 2008

Seqüência de botões

Com relação à seqüência de botões descendo na tela que o usuário deve apertar parar ganhar pontos no jogo, ela vai ser gerada a partir de dados lidos do arquivo .mid da música. Com esse arquivo e utilizando a linguagem de programação Java, é possível obter os eventos do mid e seus respectivos tempos. No entanto, quando usei o Android, não consegui que esta classe do Java funcionasse corretamente, de modo que iremos adotar a seguinte solução: iremos ler o mid utilizando somente Java, sem Android, e geraremos um arquivo XML com os eventos do mid para que ele seja lido na execução da aplicação Android e se tenha a seqüência de botões

Implementando

Só pra atualizar: já temos os menus e a navegação funcionando. No menu, o Bolero de Ravel é tocado como musica de fundo.

Estamos trabalhando no momento a jogabilidade, que é a sequencia de botões coloridos descendo na tela para serem apertados conforme o ritmo da música. Faremos ainda o sistema de pontuação e o "medidor de audiência", que indica se o jogador está tocando bem ou mal.