Datentyp Turnierbaum

Hallo zusammen,
ich würde gern ein Programm schreiben, welches mir hilft Badmintontuniere zu betreuen.
Das heißt im Konkreten, Spieler eintragen, Begegnungen ermitteln lassen, Ergebnisse eintragen, Sieger ausgeben…
Eigentlich möchte ich natürlich am Ende ein System, wo ich jederzeit sehen kann wer gegen wen auf welchem Feld… Aber alles der Reihe nach.
Der Turnierbaum eines Ranglistenspils sieht meistens ungefähr so aus, dass Gewinner gegen Gewinner anderer Spiele antreten und Verlierer gegen Verlierer.
Dafür benutze ich derzeit eine Excel-Tabelle mit dicken Formeln drin, die ich zwar nicht versetehe aber zumindest benutzen kann.
Hier habe ich mal einen Spielplan gefunden der mit d…

So nun möchte ich sowas selbst programmieren und was mir viel Kopfzerbrechen bereitet ist, wie ich die Struktur des Baumes Darstelle…

Ich habe angefangen in dem ich Klassen für Spieler und Spiele erstellt habe, aber wie stelle ich die Spiele in Verbindung?
Ihr seht, dass die Spiele Nummeriert sind, also könnte man theoretisch sagen: der Sieger von Spiel x geht in Spiel y oder so, aber das wäre ja ein gigantischer Quelltext.
Das muss doch auch elegantergehen^^
Ich habe auch an eine Art Kette gedacht, also einen ADT Spiel, der Vorgänger, Nachfolger und ‚Nachbarn‘ (also Spiele der gleichen Ebene) hat…
Ihr seht ich bin vollkommen ratlos.
Habt ihr eine Idee, wie ich die Spiele zueinander in Beziehung stellen kann?
In der Exceltabelle war die Struktur ja durch die Tabelle schon gegeben. Ich schreibe in Python und Java (lieber Python^^).
Wäre für jede Idee dankbar =)

Hallo,

wie wär’s mit einem Baum :smile:

http://de.wikipedia.org/wiki/Baum_(Graphentheorie)
http://python.net/pipermail/python-de/2001q4/001299…

Was ist denn genau deine Frage?

Grüße
McGee

Moin =)

wie wär’s mit einem Baum :smile:

Mh ja aber es bleibt ja nicht bei einem Baum

Ein Binärbaum baut sich ja von einem Punkt immer weiter aus.
Wenn ich ein einfach KO System hätte, ebi dem es nur einen Gewinner gibt, wäre das ein gute Idee. Ich würde den Baum einfach umdrehen, so dass die Blätter (Spieler) zum letzten Knoten (1.Platz) durchwandern.
Aber ich habe ja (zB) 16 Spieler und 16 Plätze.
Hast du dir mal dieses Excel dingens angesehen, das ich mitgeschickt habe?
Da siehst du , dass aus jeder Begegnung zwei neue (wenn auch kleinere) Bäume entspringen.

Was ist denn genau deine Frage?

Ich weiß nicht wie ich diese Bäume miteinander verknüpfen kann. Also zu sagen, der Gewinner dieser Begegnung geht in dieses Spiel und der Verliere geht in jenes…
Ich versuche es gerade (wird groß^^) mit einer eigenen Klasse „Ebene“.
Jede Ebene hat eine Liste von Spielen (bei einem Finale halt eins) und eine Referenz auf die Sieger-Ebene und die Verlierer-Ebene.
Mal ein Beispiel:
Die erste Ebene heißt start (da sind alle Spieler drin). Darauf folgen dann die Ebenen g (Gewinner) und v (Verlierer), darauf dann gg (Gewinner von g) und gv (Verlierer von g) uswusw…
Dann möchte ich halt sowas machen wie:
Sieger von start[0] spielt in g[0], Sieger von start[1] spielt auch in g[0]…
Wo und wie das ganze enden soll weiß ich auch noch nicht -.-