happy5214 / competitions-scheduler

Generic schedulers for competitions
GNU Lesser General Public License v3.0
8 stars 5 forks source link

NHL like schedule #6

Open encolpe opened 5 years ago

encolpe commented 5 years ago

Several conferences, number of matches between conferences are different.

In my case we have two conferences of six teams each. Each team will play two times against its conference opponents and one time against the other conference opponent during the regular season.

The most complicated sample (NHL) I found: two conferences with two divisions

Eastern Conference

Type Rule Games
Within Division 4 games × 7 opponents 28
Within Conference, Non-divisional 3 games × 8 opponents 24
Inter-conference 2 games × 15 opponents 30

https://en.wikipedia.org/wiki/Season_structure_of_the_NHL

happy5214 commented 5 years ago

I have a question and a few notes.

  1. Are you asking me to implement the NHL's schedule or the first one you mentioned (the two conferences with six teams each model)? I am unlikely to implement the NHL scheduling model, since that's too specific for this "generic" package, but a generalized conference- or division-based model is certainly within this project's scope.
  2. Currently, this package can only handle generating rounds of play, à la soccer/football. It has no notion of a calendar yet, which would add significant complexity (see #7). It also can't handle location-based scheduling (see #5).
encolpe commented 5 years ago

I propose to implement the first case, the nhl schedule is a bit to complex for now. Possibly i would need some help. In my case it's a two or three days tournament. The calendar is not important and all matches are done in the same area. It's for floorball (https://www.youtube.com/watch?v=8sp34IBMZNQ).

happy5214 commented 5 years ago

I'm wondering if you can replace the match generation code in the round-robin scheduler with a conference-based match generator. It seems that the actual schedule generation would be the same, just with a different match list.