Code Monkey home page Code Monkey logo

soccerstats's Introduction

SoccerStats Info


Update as of 02/14/19

Code is going to look a lot different as I loaded in a new dataset and I now have a infinite loop menu to allow user to keep running stats without having to reload the data, I may still add to this repo later but Im trying to recreate this in Pyton



Soccer Stats is a Java Based program that allows the user to calculate any type of stats/data that they wish.

Users may download their own data of any type and load it into the program and run a couple of pre-defined functions on them or make their own.

Soccer Stats is still in its beginning so few commands exists and there is no GUI yet, additionally while Java is not the best language for data analytics it is very beginner friendly.

Files and Functions

Currently the program only contains two files, but they can be used for multiple different leagues

Games.java

The Games.java file has a Constructor Games that can take in different types of data, you can change this to fit whatever stats you have.

I overwrote the tostring method to print out the result of a game, this is only because my data was formatted to show individual games in the season, this can be changed once again to fit your data needs

InInterval and create date are to be finished methods, where I hope to be able to show games from a certain date range. This has multiple uses including building tables from past weeks, or viewing how a team does over winter.

Season.java

The second file is Season.java that creates and ArrayList of Games from the Games.java file

I then created a addGame and readGame function which can be applied to user defined inputs

Proccessline was made just for reading sake as is a part of ReadGame

To string is another again just made for the data I input, and it calls the toString method made in Games.java

Lastly findGames.java is a work in process as would call and find games from the inInterval function

Commands

The only commands that NEED to be run are the commands to initlaize the data, the analytics commands are optional and are just there to help facilitate you in writing whatever commands you want. Now that you understand each file and their function lets learn how to implement these to run analytics on your data, this code goes into the Main Body of Season.java

Initalize Data

  1. Season SEASON_NAME = new Season();
    • Creates an instance of Season, to run commands in Season with
  2. SEASON_NAME.readGames(“[File Name]“);
    • Reads the stats from the file into the provided data constructors, the Stats have now been initialized and you can use the methods provided to run analysis or create your own. Below are some examples

Run Analytics

  1. ArrayList teams = SEASON_NAME.listTeams()
    • Creates an ArrayList of Teams form the data,If you wanted just teams from a certain division write an additional method that reads the Division variable
  2. Teams TEAM_NAME= new Teams(“TEAM_NAME”, SEASON_NAME);
    • Gets all games from provided Team Name
  3. SEASON_NAME.head2Head(“TEAM_NAME_1”, “TEAM_NAME_2”));
    • Prints the head to head record between the two provided teams
  4. SEASON_NAME.Season.*
    • Same concept applies to getting data from entire Team file, TEAM_NAME.Games.*
  5. SEASON_NAME.Season.size()
    • Gets number of games played
  6. int goals = 0;
    for (int i = 0; i < SEASON_NAME.Season.size(); i++) {
    goals += SEASON_NAME.Season.get(i).totGoals;}
    • Gets the total number of goals scored in the data set, *NOTE* Tot goals is not apart of the provided data but a data point I made by adding away goals and home goals from each game provided to speed up the loop

To do

  1. Finish InInterval... and other functions relating to dates
  2. Add functions to automaticaly grab goals scored and other stats.
  3. Add more stats and leagues
  4. Make my own compare to function
  5. Add stats for players
  6. GUI

soccerstats's People

Contributors

marc-9 avatar

Watchers

 avatar

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.