Javascript ist Toll!

5. Dezember 2018 - 11:02

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

  • Kein ähnlicher Artikel
  • Comments (0)
    4946 mal gelesen.

    Noch keine Kommentare

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht.

    Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

    Powered by WordPress Stop Spam Harvesters, Join Project Honey Pot
    marketing-bankruptcy
    marketing-bankruptcy
    marketing-bankruptcy
    marketing-bankruptcy