Skip to content

edvanioFC/CampeonatoFutebol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto de Simulação de Campeonato de Futebol

Este projeto tem como objetivo simular a gestão de um campeonato de futebol, aplicando conceitos de Programação Orientada a Objetos (OOP), Collections, Stream, Optional e Enums.

Classes

O projeto é composto pelas seguintes classes:

  • Jogador: Representa um jogador de futebol, com atributos como id, nome, apelido, data de nascimento, número, posição, qualidade, cartões e se está suspenso ou não. A classe também possui métodos para verificar a condição de jogo do jogador, aplicar cartões, cumprir suspensão, sofrer lesão e executar treinamento.

  • Equipa: Representa uma equipe de futebol, com atributos como nome, apelido, ano de fundação, plantel (lista de jogadores) e relacionados (lista de jogadores relacionados para um jogo). A classe também possui métodos para relacionar jogadores (selecionar os 18 jogadores, 11 titulares e 7 reservas, com base na qualidade e posição) e imprimir a escalação da equipe.

  • Jogo: Representa um jogo de futebol, com atributos como as equipes mandante e visitante, data do jogo, estádio, cidade, placar do mandante e placar do visitante. A classe também possui métodos para gerar o resultado do jogo, gerar lesões, gerar cartões e permitir treinamento.

Temos também 3 enums pra representar estados e posicões

  • Posicao: Representa as 11 posições dos jogadores em um campo de futebol
  • Supenso: Representa o estado de um jogador (suspenso ou disponível pra jogo)
  • Treinou : Representa o estado do jogador (Treinou antes do jogo ou não)

E algumas classes utils

  • GeradorDataUtil: Gerador de data
  • GeradorNomeUtil: Gera nome e apelidos aleatórios
  • VerificaInput: Valida o tipo de dados
  • GeradorColorUtil: Gera Cores

Como usar

Para usar este projeto, você deve ir pra Main e uxecutar o projecto uq vai fazer as devidas instancias das classes para simular a gestão de um campeonato de futebol.

Por exemplo, você pode criar jogadores usando o construtor da classe Jogador, adicionar esses jogadores a uma equipe usando o métodos da classe Equipa, e então criar um jogo usando o construtor da classe Jogo.

Depois de criar um jogo, você pode usar os métodos gerarResultado(), gerarLesoes(), gerarCartoes() e permitirTreinamento() para simular o resultado do jogo, gerar lesões e cartões, e permitir que os jogadores treinem, respectivamente entre outros.

Contribuição

Contribuições para este projeto são bem-vindas. Se você encontrar um bug ou tem uma sugestão de melhoria, sinta-se à vontade para abrir uma issue ou enviar um pull request.

Licença

Este projeto é licenciado sob os termos da licença MIT. Leia aqui License

Documentação

doc

About

Simulação de um campeonato de futebol.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages