Skip to content

Latest commit

 

History

History
101 lines (82 loc) · 3.38 KB

File metadata and controls

101 lines (82 loc) · 3.38 KB

Projeto "New Flash Gordon"

FPRO/MIEIC, 2019/20

Francisco Gonçalves Cerqueira (up201905337@fe.up.pt)

1MIEIC07

Objetivo

Criar um clone com um aspeto mais recente do Flash Gordon (Atari 2600) em Pygame.

Descrição

Neste jogo, o jogador terá de se movimentar ao longo de um labirinto, indicado na metade inferior, com o objetivo de eliminar todos os inimigos. Para isso, o jogador terá de gerir a sua atenção entre as duas metades do ecrã. O jogador perde quando é atingido pelos adversários três vezes.

Vídeo Youtube:

FPRO 2019/20: Flash Gordon (Atari)

Old UI

UI

New UI

UI

Pacotes

  • Pygame
  • Random

Faixas

  • Flash's Theme - Queen
  • Vultan's Theme (Attack of the Hawk Men) - Queen

Controlos

  • Botões:
    • Reset: Reiniciar a partida
    • Som: Pausar/recomeçar a música de fundo
  • Teclas:
    • Setas/WASD: Movimentar a nave
    • Espaço: Disparar

Tarefas

  1. MATRIZ PARA O MAPA
    1. fazer uma matriz binária (tamanho do mapa=32x8), em que teremos:
      • vazio=0
      • parede=1
    2. Desenhar os objetos no ecrã
      • para já cada objeto deverá ter 25x25 porque assim vai ocupar 25*32=800 pixeis, que é um tamanho razoável
      • colocar pontos de rescue ao longo do mapa
  2. DESENHAR ECRÃ CIMA
    1. Desenhar nave
    2. Desenhar também no mapa
  3. TECLAS
    • Navegação da nave usando as teclas de cursor
  4. COLISÃO NO MAPA
    1. Não deixar nave mover se for contra alguma parede no mapa
    2. Quando chega a um rescue, desenhar 5 inimigos no ecrã de cima
      • Usar aleatoriedade para decidir o tipo de inimigo e a direção do movimento
      • Remover rescue point correspondente
    3. Transportar o jogador quando este chega aos extremos
  5. COLISÃO ECRÃ DE CIMA
    1. A nave não deve ultrapassar o ecrã
    2. Quando existe colisão da nave com inimigo, o jogador perde uma vida
    3. Nave pode disparar
    4. Quando existe colisão tiro com inimigo, o inimigo e o tiro desaparecem
  6. DESENHAR VIDAS
    • Implementar sistema de vida do jogador
    • Adicionar tempo de recuperação após perder uma vida
    • O nível termina quando não existem mais vidas
  7. CONSOLA
    1. Aspetos Gráficos
    2. Botões
      • Reset: Começar o jogo de novo
      • FPS: Configurar FPS do jogo
    3. Visor
      • Pontuação
      • Vidas
  8. MENUS
    1. Ao iniciar o jogo deve ser apresentada uma tela inicial
    2. Quando a partida termina, é apresentado o menu de pontuação
  9. RESTART
    1. Opção para reiniciar partida
    2. Todos os rescue points coletados
      • O jogo reinicia mantendo a pontuação, vidas e aumentando a velocidade dos inimigos
    3. A partida termina
      • São apresentadas as pontuações da partida atual e da mais elevada de todas as partidas realizadas
  10. RETOQUES FINAIS
    1. Tornado
      • Área com grande concentração de inimigos
    2. Estrelas
      • Objeto meramente decorativo, permitindo uma ilusão de movimento
  11. EFEITOS SONOROS
    • Todas as ações realizadas devem ter um efeito sonoro associado
    • Deve existir pelo menos uma música de fundo

18/11/2019