Ich bin dabei, meine Tournament Organizer-Software, die das Erstellen und Bearbeiten von Double Elimination Turnieren ermöglicht, in das MVVM-Designmuster zu konvertieren, damit es einfacher getestet werden kann. Dabei entkomme ich das "Modell" von einem Code in der Benutzeroberfläche, der direkt die Klammerstruktur manipuliert.Datenstruktur für Double Elimination Turnier
Dies wird die dritte Iteration der Software sein, die ich für Turniere geschrieben habe. Die erste wurde in PHP geschrieben und die Daten in einer Datenbank gespeichert. Die zweite Version ist die von mir erstellte WPF-Version. Sie speichert die Daten im Speicher und serialisiert sie dann in eine XML-Datei. In beiden Versionen gibt es jedoch Aspekte der Implementierung, die meiner Meinung nach nicht sauber sind und anscheinend das DRY-Gesetz verletzen.
Wenn Sie eine Datenstruktur von Grund auf neu erstellen, um doppelte Eliminierungsklammern zu behandeln, wie würden Sie es tun?
Beachten Sie, dass es nicht in der Lage sein muss, die Klammern automatisch algorithmisch zu generieren (Laden von einer vorgefertigten Doppel-Eliminierung mit 4/8/16/32 Leuten ist, wie ich es jetzt mache), nur der Hauptanwendungsfall, Gewinner von Spielen zu setzen und sie durch die Bracket "voranzubringen".
Edit: Um es klar zu machen, muss die Datenstruktur Double Elimination Turniere behandeln, so dass der Gewinner eines Matches potentiell gegen den Verlierer eines anderen Matches antreten könnte.
Leider behandelt das nicht Double Elimination Turniere :( – FryGuy