GithubHelp home page GithubHelp logo

papaart / ccf313-tabelanba Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 4.46 MB

Projeto de desenvolvimento de uma tabela de jogos da NBA com o propósito de analisar o resultado deles bem como o desempenho dos jogadores. Na tabela irão constar dados como o resultado das partidas, tabela de classificação, pontos por jogo, rebotes por jogo, entre outros.

License: MIT License

Java 100.00%
nba nba-stats table oops-in-java

ccf313-tabelanba's Introduction

CCF313-TabelaNBA

Vinicius Mendes - 3881 e Artur Papa - 3886

Descrição do projeto

O projeto em questão visa proporcionar uma experiência única para o usuário, visto que, foi desenvolvido com o objetivo de poder ser utilizado como catálogo de resultados, além de um gerenciador de jogos amadores.

Existem três modos, um especialmente para acompanhamento dos jogos, possuindo uma metodologia de consulta a um banco de dados, que neste caso, contém dados da tabela, outro para a criação de um campeonato "fantasy" em que o usuário irá criar uma tabela local, porém seguindo as mesmas regras de divisão e conferência do campeonato oficial e, por fim, a visualização do desempenho de alguns jogadores que marcaram a história na NBA e outros que ainda jogam o campeonato.

Jordan

Criação dos times

Primeiramente foi criado a classe para os times em que incluímos as funções mais básicas como a getJogos, getDivisao, posicaoTabela e setVitoria. Conforme avançávamos no projeto adicionamos mais atributos, como a divisão e a conferência. Feita a mudança para o MVC, criamos o TimeDAO que implementava funções para pegar a divisão, conferência e o id de determinado time da lista de times.

construtorTime

Criação da tabela

Após a criação dos times, criamos a classe TabelaNBA, em que incluímos uma lista de time com seus respectivos dados. Assim como na primeira classe, também foi implementada funções básicas como a addTime, getConferencia. Feita a mudança para o MVC, criamos a classe TabelaDAO em que fizemos duas funções importantes, como a embates e a ordenaPosicao. A primeira foi criada com o intuito de realizar os embates de cada time para a criação da tabela feita pelo usuário. Já a segunda tem por objetivo ordenar a posição dos times na lista, seja com os dados retirados do banco ou criados localmente.

Vale ressaltar que o objetivo inicial do projeto era imprimir duas tabelas, uma para a conferência leste e outra para a oeste, porém, com o desenrolar do projeto resolvemos por deixar todos os times em um só quadro, utilizando das enumerações da conferência e divisão apenas no cálculo das funções. Dessa maneira, temos que os times na posição de 0 a 14 são referentes a conferência leste e das posições restantes referentes a conferência oeste.

Por fim, é válido dizer que a classificação é ordenada pela porcentagem de vitória e em caso de empate é analisado os pontos por jogo.

Banco de dados

A realização do projeto se fez possível através da utilização de um banco de dados criado por nós mesmos. Buscamos outras formas de realizar as inserções no algoritmo, entretanto não obtivemos um resultado que nos agradasse. A partir disso, criamos uma "schedule" chamada NBA, que possui uma tabelaTimes,jogadores e anoTabela.

A primeira, possui os mesmos parâmetros de criação vistos no construtor de Time, citado acima. A segunda, o construtor dos jogadores e a terceira é responsável por indicar o período que a tabela representa.

bancoTime

Foi desenvolvido no MySQL versão 8.0.25 build 788958.

Para execução do projeto, é necessário utilizar o banco de dados, alterar o caminho JDBC nos locais em que há a leitura do banco, sendo eles na telaTabela e jogadorDAOmysql

Padrão:

jdbc:mysql://127.0.0.1:3306/nba", "root", "password");

Jogadores

Diferentemente dos times e da tabela a classe para os jogadores foi criada apenas com o intuito estatístico e não há nenhuma inserção de dados vindo do usuário.

Sendo assim, teremos apenas os dados de pontuações para os jogadores e outros atributos como MVP e título da NBA.

maiorDaHistoria

PARA EXECUÇÃO DO PROJETO:

java -jar "titulo_do_arquivo"

ccf313-tabelanba's People

Contributors

vinicmendes avatar papaart avatar

Watchers

 avatar  avatar

ccf313-tabelanba's Issues

setVitoria e setDerrota

esses métodos estão somando o número de vitorias e derrotas no número de jogos. Isso pode confundir o usuário do seu projeto. Sugiro pensarem em uma forma melhor de atualizar esses valores. Talvez se chamar os métodos de incrementaVitorias e incrementaDerrotas, e fazer a soma ao invés da atribuição, ficaria mais claro o objetivo.

Testes

Fazer testes para ordenaPosicao e classificação, pois são duas implementações importantes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.