Zum Inhalt

Ranglistenberechnung

Dieses Dokument bietet einen Überblick darüber, wie das MySquash-System die Ranglisten der Spieler berechnet.

Prozessübersicht

Das Ranglistenberechnungssystem folgt einem strukturierten Arbeitsablauf von der Spielaufzeichnung bis zur endgültigen Ranglistenveröffentlichung.

flowchart TD
    A[Spiel gespielt] --> B{Ergebnis aufzeichnen}

    B --> E

    subgraph C["Fixtures"]
        D[Vergangene Fixtures<br/>Bereits in Rangliste]
        E[Temporäre Fixtures<br/>Noch nicht in Rangliste<br/>Grau im Profil]

        E -->|Wöchentlich| D
    end

    E -->|Nächtlich| F[Punkteberechnung]
    F --> G[Gewonnene/Verlorene Punkte<br/>Im Profil sichtbar]

    C -->|Wöchentlich| H[Ranglistenberechnung]

    H --> I[Aktuelle Punkte aktualisieren]
    H --> J[Offizielle Ranglisten]

    subgraph J["Offizielle Ranglisten"]
        K[Lokale Rangliste<br/>Schweizerische Nationalspieler]
        L[Internationale Rangliste<br/>Internationale Spieler]
        M[Nationale Rangliste<br/>Kombiniert Swiss Squash<br/>+ Squash Romandie<br/>Bis Sommer 2026]
        N[Club-Rangliste<br/>Interclub-Team-Berechtigung]
    end

    I --> O{Spieler hat<br/>aktuelle Punkte?}
    O -->|Ja| P[Aktuelle Punkte verwenden<br/>für Wettbewerbe]
    O -->|Nein| Q[Startpunkte verwenden<br/>für Wettbewerbe]

    style F fill:#cce5ff,stroke:#0066cc,stroke-width:2px,color:#000
    style H fill:#ffcccc,stroke:#cc0000,stroke-width:2px,color:#000
    style J fill:#ccffcc,stroke:#00cc00,stroke-width:2px,color:#000
    style I fill:#ffe6cc,stroke:#cc6600,stroke-width:2px,color:#000

Hauptkonzepte

1. Fixtures

Alle aufgezeichneten Spiele aus Wettbewerben (Interclub, Turnier, Freundschaftsspiele, Miniligen)

  • Vergangene Fixtures: Bereits in Ranglistenberechnungen enthalten
  • Temporäre Fixtures: Aktuelle Spiele noch nicht in der Rangliste (erscheinen grau im Benutzerprofil)

2. Punkteberechnungsprozess

Nächtliche Berechnung

  • Läuft jede Nacht um Mittag
  • Berechnet gewonnene/verlorene Punkte für alle temporären Fixtures
  • Beispiel: Spielergebnis am Samstag eingegeben → Punkte am Sonntag um Mittag berechnet → im Profil sichtbar

Wöchentliche Ranglistenaktualisierung

  • Läuft einmal pro Woche
  • Wandelt temporäre Fixtures in vergangene Fixtures um
  • Aktualisiert offizielle Ranglisten und aktuelle Punkte

3. Arten von Ranglisten

Ranglistentyp Beschreibung Zweck
Lokale Rangliste Nur schweizerische Nationalspieler Setzliste nationale Wettbewerbe
Internationale Rangliste Internationale Spieler in MySquash Verfolgung internationaler Spieler
Nationale Rangliste Kombiniert Swiss Squash + Squash Romandie Einheitliche Schweizer Rangliste (bis Sommer 2026)
Club-Rangliste Clubbasierte Spielerrangliste Interclub-Team-Berechtigung

4. Punktetypen

Aktuelle Punkte

  • Wöchentlich durch Ranglistenberechnung aktualisiert
  • Verwendet zur Bestimmung der Spielerposition in Wettbewerben (Turniere, Interclub-Teams)
  • Spiegelt tatsächliche Wettbewerbsleistung wider

Startpunkte

  • Anfängliche Punkte, die beim Beitritt zu MySquash vergeben werden
  • Nur verwendet, wenn aktuelle Punkte nicht verfügbar sind (neue Spieler)
  • Rückfallmechanismus für Wettbewerbssetzlisten

Zeitplanbeispiel

gantt
    title Ranglistenberechnungs-Zeitplan
    dateFormat YYYY-MM-DD
    section Spiel
    Spiel gespielt        :done, match, 2025-01-10, 1d
    section Punkte
    Punkte = 0            :active, wait1, 2025-01-10, 1d
    Nächtliche Berechnung :crit, calc1, 2025-01-11, 1h
    Punkte sichtbar       :done, vis1, 2025-01-11, 4d
    section Rangliste
    Noch temporär         :active, temp, 2025-01-11, 4d
    Wöchentliche Aktualisierung:crit, rank, 2025-01-15, 1h
    In Rangliste enthalten:done, final, 2025-01-15, 1d

Zusammenfassung

  1. Spiele aufgezeichnet → Als temporäre Fixtures gespeichert
  2. Nächtlich (Mittag) → Punkte für temporäre Fixtures berechnet
  3. Wöchentlich → Rangliste aktualisiert, temporäre Fixtures werden vergangene Fixtures
  4. Ranglisten veröffentlicht → Lokale, internationale, nationale, Club-Ranglisten
  5. Wettbewerbssetzliste → Verwendet aktuelle Punkte (oder Startpunkte falls nicht verfügbar)