Close Menu
    Facebook X (Twitter) Instagram
    Select Game
    • Notícias e Posts Recentes
    • Games
      • Fortnite
      • World of Warcraft
      • Honkai Star Rail
      • Elden Ring
      • Listas de Troféus
      • Listas de Conquistas
    • Cosplays e Animes
      • Cosplays
      • One Piece
    • Stories, Looks
      • Web Stories
      • Looks
    Facebook X (Twitter) Instagram
    Select Game
    Início » Gamedev » Tutorial: XNA Invasores – Parte 3

    Tutorial: XNA Invasores – Parte 3

    Diego Barboza03/04/2008

    Logo do XNASeguindo com o projeto do XNA Invasores, é hora de entender o fluxo principal do jogo. Na parte anterior nós definimos as entidades que compõem o jogo, mas não vimos bem suas ações e como elas interagem. Baseado no que foi modelado e observando o jogo original, podemos verificar o fluxo de atividades do jogo, ou seja, a ordem em que as coisas são executadas. Tendo o fluxo do jogo detalhado, teremos um algoritmo que descreve seu funcionamento, tornando bem mais simples a etapa de implementação.
    Como em qualquer outra etapa de modelagem, o nível de detalhamento do modelo é definido pelo analista. Eu decidi por deixar o diagrama em um nível bem alto e com poucos detalhes, por motivos de tempo e simplicidade, mas nada impede que num outro projeto você faça um diagrama com muito mais detalhes.
    Outra coisa que merece uma observação é que este modelo trata apenas do fluxo principal do jogo, iniciando com os passos que serão executados quando o jogador escolher “Novo Jogo” num menu e indo até a tela final de “Game Over” ou “Vitória”. Para não complicar demais, vamos modelar inicialmente apenas a parte central do jogo, sem se preocupar com menus de opções ou telas de fim de jogo.
    Muito bem, vamos agora tentar visualizar o comportamento de algumas das classes definidas na parte anterior. Este comportamento é que irá definir o algoritmo que será implementado.

    • NaveJogador:
      • Pode se mover para a esquerda/direita, mas deve ficar dentro dos limites da tela.
      • Pode disparar um tiro por vez.
      • Quando um tiro disparado por ela atinge uma nave, o jogador ganha pontos.
      • Caso seja atingida, a nave perde uma vida.
      • Quando não restarem mais vidas, o jogo acaba.
    • NaveInvasor:
      • As naves invasoras se movem em conjunto e vão sempre na mesma direção.
      • Quando a nave mais à esquerda do grupo atinge um limite à esquerda da tela ou a nave mais à direita atinge um limite à direita, todas as naves descem um pouco em direção à parte de baixo da tela e invertem o sentido do seu movimento.
      • Uma nave por vez pode disparar um tiro em direção ao jogador.
      • Ao ser atingida por um tiro vindo do jogador, mas não de outras naves invasoras, a nave é destruída.
    • NaveBonus:
      • Surge ocasionalmente no topo da tela e sempre se move da esquerda para a direita.
      • É destruída ao ser atingida por um tiro ou ao sair da tela pela direta.
      • O número de naves bônus destruídas é armazenado para oferecer um bônus cumulativo.
    • ControladorDeNaves:
      • Controla as instâncias de NaveInvasor e NaveBonus.
      • É responsável por armazenar o número de naves restantes, para verificar se o jogo acabou.
    • Tiro:
      • Se move para cima ou para baixo de acordo com a entidade que o disparou.
      • Ao atingir uma entidade (NaveJogador, NaveInvasor, NaveBonus ou Escudo), destrói ou danifica (no caso do escudo) a entidade e é destruído.
      • Também é destruído ao sair da tela.
    • Escudo:
      • Um escudo não executa nenhuma ação, apenas sofre dano ao ser atingido por um tiro.
    • CelulaEscudo:
      • Apenas armazena a energia restante da célula, sem realizar nenhuma ação.
    • JogoInvasores:
      • Gerencia as entidades e suas interações, como colisões, por exemplo.
      • Carregar e gerencia recursos, como sons e imagens.

    De acordo com o comportamento de cada Entidade mostrado acima, podemos modelar o fluxo central do jogo, que é basicamente o seguinte:

    • Os recursos usados no Jogo são carregados e as Entidades instânciadas.
    • Cada Entidade é Atualizada, de acordo com o comportamento definido acima.
    • As Entidades são desenhadas na tela.
    • São feitas as verificações de colisão. No Space Invaders, as únicas interações entre as entidades são as colisões.
    • É feita uma verificação se o Jogo chegou ao fim (se o jogador venceu ou perdeu).

    O Diagrama de Atividades acima mostra o fluxo principal do jogo. Obviamente, há muito a ser detalhado, principalmente na atividade “Atualiza Entidades”, mas este detalhamento será feito aos poucos, conforme o jogo for avançando.
    Por hoje é só e agora chega de teoria. A partir da próxima parte vamos começar com a implementação do jogo, conhecendo alguns conceitos iniciais do XNA e colocando nosso jogo pra rodar. Até lá.

    Share. Facebook Twitter Pinterest LinkedIn Tumblr WhatsApp

    Posts Relacionados

    Roblox Campos de Batalha de Feiticeiro – Códigos ativos em julho de 2025 do game inspirado em Jujutsu Kaisen (Sorcerer Battlegrounds Codes)

    Roblox Anime Eterno – Códigos ativos em julho de 2025 (Anime Eternal Codes)

    Roblox Garden Tower Defense – Códigos ativos em julho de 2025 (Codes)

    Roblox Avenida Berry RP – Novos Códigos de Julho de 2025 (Berry Avenue Codes)

    GTA 6 – Saiba mais sobre o Jason Duval, um dos protagonistas

    Patch 11.2 de World of Warcraft terá mudanças no funcionamento dos bancos dos personagens

    Posts recentes
    • Roblox Campos de Batalha de Feiticeiro – Códigos ativos em julho de 2025 do game inspirado em Jujutsu Kaisen (Sorcerer Battlegrounds Codes)
    • Roblox Anime Eterno – Códigos ativos em julho de 2025 (Anime Eternal Codes)
    • Roblox Garden Tower Defense – Códigos ativos em julho de 2025 (Codes)
    • Roblox Avenida Berry RP – Novos Códigos de Julho de 2025 (Berry Avenue Codes)
    • GTA 6 – Saiba mais sobre o Jason Duval, um dos protagonistas
    • Patch 11.2 de World of Warcraft terá mudanças no funcionamento dos bancos dos personagens
    • Hearthstone ganha o Rei Mó como pet, mas ele é bem caro para obter (ou o jogador terá de ter muita sorte)
    • Roblox Adopt Me! – Novo código ativo para julho de 2025 (Codes)
    • Termos de Serviço e Política de privacidade
    • Sobre
    • Contato
    © 2025 Select Game - Todos os Direitos Reservados. Imagens e embeds tem foco em divulgação!

    Type above and press Enter to search. Press Esc to cancel.