quarta-feira, 16 de novembro de 2011

Mais progressos...


Depois de mais um tempão sem postarmos nada, fiquei encarregado de listar os avanços de cada integrante do nosso grupo. Sem mais delongas, cá estão:

Arthur

Desde o início do desenvolvimento propriamente dito, minha parte ficou bem definida em uma palavra: Canhão.
Ou seja, apesar de opinar em alguns detalhes, como na interface gráfica do editor de mapas por exemplo, minha tarefa se resumiu a desenvolver o canhão e tudo que lhe diz respeito.
Seguem os passos mais importantes realizados (talvez não estejam na ordem exata):
- Fazer o canhão aparecer na tela
Pode parecer bobagem, mas isso só aconteceu após algumas correções que o Gabriel N. fez no meu código inicial.
- Fazer o canhão mirar na direção do cursor
- Possibilitar movimento por teclado
Essa parte foi tranquila, porém faltava permitir movimento diagonal.


- Fazer outra imagem para o canhão
A primeira era deplorável.
- "Traduzir" para GWT tudo que havia sido feito
Até o passo anterior tudo estava sendo feito em Java simples, desktop, num projeto separado.
Após esforços meus e do Gabriel N. , o canhão foi copiado com sucesso para o projeto principal (GWT).
- (Gabriel N.) Possibilitar movimento diagonal
Como no GWT não é possível usar Threads, eu não soube como fazer isso. No entanto o Gabriel (Santo Gabriel) conseguiu fazê-lo por meio de Timers.
- Fazer Atirar
Um canhão que não atira é deplorável.
Num momento de inspiração, desenvolvi em algumas horas tanto a parte da mira quanto o ato de atirar, porém não estava conseguindo testar, devido à leveza inigualável da execução do GWT.
No início do dia seguinte, quando nosso grupo passou o dia inteiro reunído, desenvolvendo, fomos testar o que eu tinha feito:
A mira ( reta similar às de jogos de sinuca online, que indica a direção e força do tiro ) demonstrou mais sinais de funcionamento do que deveria, ( várias linhas eram impressas na tela, em vez de apenas uma ). Foi realmente intrigante o constraste de excitação/preocupação nos olhos do Gabriel. No entanto, quando ele soltou o botão do mouse ( invocando o método de lançamento de planetas ) para alegria geral, um planeta foi, de fato, lançado!
Após algumas correções do Gabriel ( sim, de novo... ) a reta da mira passou a funcionar corretamente, apesar de apresentar problemas bastante visíveis quanto à angulação.
- Resolver o problema da angulação
Infelizmente agora a reta estava alinhada mas fora do lugar, desviada para a direita relativa ao canhão.
- Corrigir o problema do alinhamento
Graças ao olhar infalível do professor Ivan, que passou provavelmente mais de uma hora olhando nosso código, foi resolvido o problema do alinhamento da reta. ( eu, sinceramente, não entendi até agora o que exatamente ele corrigiu )
- Implementar a lógica que para calcular as velocidades vertical e horizontal dos planetas a serem lançados, em função da angulação do canhão e do tamanho da reta de mira
Infelizmente a API permite uma variação irrisória de velocidade, no entanto, consegui atingir planetas com outros planetas ao variar drasticamente o tamanho das retas de mira.


Gabriel Negrelli

1) Implementei a lógica de lançamento de asteróides;

2) Ajudei a Heloísa com a movimentação do mapa;
3) Fiz o minimapa;

4) Fiz parte da movimentação do mapa no editor de mapas;
5) Comecei a reestruturação do projeto;

6) Fiz um widget para os botões da Heloísa;
7) Implementei o zoom da tela do forplay, porém este foi retirado da versão final;



Gabriel Rodrigues

1) Desenvolvimento da API de autenticação pelo Twitter;


2) Consertei alguns erros na API de autenticação do Twitter;
3) Implementei-a no nosso projeto do jogo planetário;
4) Criei um banco de dados para armazenamento de dados de um autenticação do prórpio jogo;
5) Criei as GUI, via DialogBox do GWT, para o usuário realizar sua autenticação;





Heloisa

1) Movimentação da área visível do mapa;


2) Reestruturar o código do Editor de Mapas;
3) Design da página inicial do jogo;
4) Os flashs que o projeto contém (tutorial por exemplo);





Ricardo

1) Implementei um editor de mapas que gera arquivos XML contendo todas as informações sobre cada fase projetada.



2) Comecei, junto com a Heloisa, a criar a página de seleção de fases do jogo;

3) Criei a classe que lerá os arquivos em XML;