Skip to content

Projeto de conclusão da disciplina IF968 - Programação 1, do curso de Sistemas de Informação da UFPE

License

Notifications You must be signed in to change notification settings

vitornegromonte/numfall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto P1

Um jogo 2D em que o jogador precisa coletar operações matemáticas com o intuito de alcanças uma determinada meta gerada aleatoriamente, tudo isso em 90 segundos.

Sumário

  1. Intruções
  2. Membros da equipe e suas atribuições
  3. Estrutura do projeto
  4. Bibliotecas
  5. Conceitos utilizados
  6. Desafios, erros e aprendizados
  7. Galeria do projeto

Intruções

  1. Instalação do python e dos pacotes listados em requirements.txt
  2. Download da branch Main deste repositório
  3. Extraia o arquivo .zip
  4. Execute o arquivo main.py

A movimentação do personagem é feita pelas setas do teclado

Membros da equipe e suas atribuições

Vitor Negromonte: Mecânica da geração dos coletáveis, Mecânica das operações, Slides, Relatório

Adna Farias: Implementação do timer, Organização do código, Criação da Main

Danielly Santos: Organização do projeto no Notion, Criação do scoreboard/coletaveis, Implementação do scoreboard/coletaveis, Ajuste de Slide

Natália Albuquerque: Organização do projeto no Notion, Criação do player, Mecânicas do player, Ajuste de Slide

Estrutura do projeto

  • Main.py: Controle do loop principal do jogo, responsável pelas telas de começo e fim da partida e configuração da interface.

  • Coletaveis.py: Responsável pela geração dos objetos coletáveis, fluxo de operações e mecânica de queda dos objetos.

  • Player.py: Responsável pelas mecânicas de movimentação e colisão do jogador com as operações.

  • Timer.py: Definição do sistema de temporizador da partida (90 segundos).

  • Assets: diretório que contém os recursos visual do projeto (imagens, sprites, fontes e etc).

Digrama contendo a estrutura dos diretórios do projeto

Bibliotecas:

Foi utilizado o Pygame para o desenvolvimento, sobretudo, devido a sua extensa documentação e implementação em projetos na comunidade open source.

Conceitos utilizados

Condicionais: Os condicionais são utilizados para determinar o cálculo da operação matemática nos objetos coletáveis com base em operadores aleatórios, bem como para verificar colisões entre objetos no jogo e gerenciar as regras de jogo.

Laços: o jogo é executado dentro de um laço infinito (while True).

Orientação a objetos: O código segue o paradigma de Orientação a Objetos (POO), estruturando cada componente do jogo, como "Coletavel", "ScoreBoard", “Timer”, “Player” e a classe principal, em classes independentes. Isso resulta em um design de código modular, favorecendo a reutilização de código e simplificando a manutenção do projeto.

Listas: Listas são utilizadas para gerenciar os objetos coletáveis em queda no jogo.

Desafios, erros e aprendizados

Desafios: Inicialmente, o maior desafio foi organizar um cronograma adaptável à rotina de cada membro da equipe. Depois, estruturar a base para iniciar o desenvolvimento do projeto. Erros: Demoramos para juntar as classes na main. Problemas para juntar as classes. Aprendizados: Usar GitHub ajudou o grupo a construir o código coletivamente.

Galeria do projeto

screen1

screen1

About

Projeto de conclusão da disciplina IF968 - Programação 1, do curso de Sistemas de Informação da UFPE

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages