quinta-feira, 31 de maio de 2012

Atualização 31-05

Nesse momento, no que o grupo se comprometeu a fazer nesse semestre, o projeto já está OK, faltando apenas algumas interações com alguns objetos e uma música de fundo.

Acrescentamos uma tela de Menu:

Ao apertar a tecla "Enter" ocorre um efeito de transição e vamos para a tela do jogo.
A classe HP sofreu por algumas alterações e agora está mais genérica, antes dessa mudança todos os personagens perdiam 25 de HP, agora, com essas alterações, o valor é diferente para cara personagem, facilitando bastante para o futuro.

Estamos definindo ainda os sprites dos inimigos e assim que cada inimigo tiver o seu definido eu volto a postar as imagens aqui.

quinta-feira, 17 de maio de 2012

Atualização 17-05

Desde a semana passada, pouca coisa mudou no jogo, foi acrescentado um cenário e melhoradas algumas partes do código que estavam dando alguns bugs na animação, a cara do jogo nesse momento está assim:


Estamos enfrentando alguns problemas na atualização do HP, mas o mesmo deverá ser resolvido essa semana. O HUD também está sendo construído e em algumas semanas já estará implementado.


quinta-feira, 10 de maio de 2012

Atualização 10-05

Essa semana o código passou por uma refatoração e as classes estão totalmente separadas e funcionando corretamente, o visual nesse momento está assim:


Foi adicionado um texto para "Debug" assim poderíamos verificar se as variáveis estão funcionando corretamente.

Algumas alterações na animação ocorreram, a animação do ataque ficou assim:



A animação da "morte" ficou assim:


E foi adicionado um inimigo (Inimigo01), o qual é possível ver na primeira imagem (personagem Cinza).

terça-feira, 1 de maio de 2012

HP, Colisão, Classes

HP

Essa semana foi implementado o HP, parte visual, no inimigo e no jogador principal. A perda do HP ocorre nas seguintes situações:

- O jogador colide com o inimigo e perde 25.
- O jogador colide com o inimigo, mas está atacando, o inimigo perde 25.

Essa perda é somente visual, ao inicializar o HP, é desenhado na tela -25 na posição atual do objeto e esse valor vai mudando sua posição em Y a cada update em um determinado tempo; ao fim desse tempo o -25 não é mais desenhado na tela.

Colisão

O código da colisão foi melhorado, ao ocorrer a colisão, ele fará a verificação de quem está perdendo HP, o objeto que está perdendo o HP recuará 100 pixels, não importando a posição e ordem dos objetos, por exemplo, se o jogador está sofrendo o ataque ele fará o seguinte calculo: 

             if (Colisao_Personagem_Inimigo_01 && !Personagem_Esta_Atacando)
            {
                Pos_Personagem = Jogador_Principal.Position;

                if (Personagem_esta_a_esq)
                {
                    Pos_Personagem.X = Pos_Personagem.X - 100;
                }
                else
                {
                    Pos_Personagem.X = Pos_Personagem.X + 100;
                }
                Jogador_Principal.Position = Pos_Personagem;
             }

Organização das classes

Estamos enfrentando alguns problemas para separar todas as classes, primeiramente o código foi feito todo no Game1.cs, assim era possível testar se o código estava funcionando corretamente. Ao separar as classes encontramos um problema, ele não está atualizando as posições dos "Vector2", por exemplo, na classe IA.cs, o inimigo começa na posição (660, 175) e vai diminuindo em 1, em X, a cada Update, ao chegar na posição (200,175) o inimigo deve aumentar em 1, em X, na classe Game1.cs o código funciona perfeitamente, porém ao fazer a adaptação na classe IA.cs, o inimigo vai diminuindo 1, em X, "eternamente", esse foi o problema principal encontrado e estamos trabalhando para remover esse Bug.