• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Turnierbaum Paarungen

dominik921

New member
Hallo Leute,

Und zwar bin ich gerade dabei, ein turnierbaum zu programmieren, wo man nur die teams einträgt und das Programm macht den Rest, dh. Zufallsgenerierte Gruppen usw. Bei der Programmierung der Funktion zur Erstellung der Paarungen in der Gruppenphase komm ich bei einem Problem nicht weiter. Ich kriege die Paarungen an sich geliefert, so das jeder gegen jeden einmal spielt, aber ich bekomme die spiele nicht in die gewünschte Reihenfolge. Ich versuche das per id's zu lösen. Kann mir jemand einen Tipp geben, wie ich das am besten machen kann? Hier ist mein Code:

HTML:
obj.generateGroupMatches = function() {     
  obj.all = []; 
  var matches = [], c = 0; 
  for (var p in bracket.groups) { 
    c++; 
    for (var i = 0; i < bracket.groups[p].length; i++) { 
      if (i == 0) { 
        matches.push({first_team: bracket.groups[p][0], second_team: bracket.groups[p][1]});     
        matches.push({first_team: bracket.groups[p][0], second_team: bracket.groups[p][2]}); 
        matches.push({first_team: bracket.groups[p][0], second_team: bracket.groups[p][3]}); 
      } 
      else if (i == 1) { 
        matches.push({first_team: bracket.groups[p][1], second_team: bracket.groups[p][2]}); 
        matches.push({first_team: bracket.groups[p][1], second_team: bracket.groups[p][3]}); 
      } 
      else if (i == 2) { matches.push({first_team: bracket.groups[p][2], second_team: bracket.groups[p][3]}); }   
      for (var j = 0; j < matches.length; j++) { 
        obj.all.push(matches[j]); 
      } 
    matches = []; 
    } 
  } 
};
Schonmal danke im voraus.
 
Zuletzt bearbeitet von einem Moderator:
aber ich bekomme die spiele nicht in die gewünschte Reihenfolge
Wie ist denn die gewünschte Reihenfolge?

PS: Dein Code ist unnötig kompliziert:
Code:
obj.generateGroupMatches = function(){
	var all = [];
	for (var p in bracket.groups){
		if (bracket.groups.hasOwnProperty(p)){
			var g = bracket.groups[p];
			var groupLength = g.length;
			g.forEach(function(team, i){
				for (var j = i + 1; j < groupLength; i += 1){
					all.push({
						first_team: team,
						second_team: g[j]
					});
				}
			});
		}
	}
	this.all = all;
};
- ungetestet.
PPS: Globale Variablen (hier bracket - auch kein besonders aussagekräftiger Name) sind keine gute Idee.
 
Zurück
Oben