Spielplan erstellen mit Javascript
Meine vorherige Umsetzung des Kantenfärbungs Algorithmus nach Sigrid Knust habe ich noch einmal überarbeitet und etwas vereinfacht.
Der Code
Der folgende Code ist die Javascript Umsetzung des Algorithmus und gibt ein Array of Arrays zurück. Diese repräsentieren die Spieltage mit jeweils den Paarungen als Array. Der Parameter der Funktion ist die Anzahl der teilnehmenden Teams. Bei einer ungraden Anzahl von Teams wird ein Eintrag mit der Bezeichnung [Spielfrei]
hinzugefügt.
function round_robin(teams) { teams = parseInt(teams, 10); if(!teams || teams < 0) throw new TypeError('Parameter must be greater than zero'); if(teams % 2) teams++; var i, j, result = [], team_nr = []; for(i = 1; i < teams; i++) team_nr.push(i); for(i = 1; i < teams; i++) { var tmp = [], t1, t2; tmp.push( i % 2 ? [teams, team_nr[0]] : [team_nr[0], teams] ); Out('array: ' + team_nr.join(' ')+ '<br>'); for(j = 1; j < teams / 2 ; j++) { var t1 = team_nr[j]; var t2 = team_nr[teams - j -1]; tmp.push(!(j % 2) ?[t1, t2] : [t2, t1]); } result.push(tmp); team_nr.push(team_nr.shift()); } return result; } |
Beispiel
Je nach Anzahl der angeklickten Teams werden die Spielpaarungen berechnet. Die Rückgabewerte entsprechen dabei dem Index des Arrays mit den Namen.
Die Teams
Der Spielplan
ähnliche Artikel
Comments (0)
4946 mal gelesen.
4946 mal gelesen.
Noch keine Kommentare
Das Neuste
Kategorien
am meisten gelesen
zuletzt kommentiert
Archiv
Wortwolke
Animation Drag&Drop linux Privatsphäre prototype Javascript Wordpress Firefox überwachung LED Bugs Tool LED Scroller google about:config Laufschrift Browser Datenschutz String OOP