Mailinglisten-Archive |
Hallo Andreas, > Mit einer on the fly Aktualisierung der spielerbezogenen Stats ist die > Rangliste in der Tat auch aktualisiert. Das Problem ist allerdings, > wie ich die Ranglistenposition des Spielers extrahieren kann, um es > auf seinem Profil anzuzeigen. Also bspw. "Rangliste: 12. Platz". Wie > soll ich das am sinnvollsten speichern? Ich halte es kaum für sinnvoll > die Position direkt beim Spieler zu speichern, also nach jeder > Änderung der Rangliste selbige neu zu kalkulieren. > > Ansonsten ist die Rangliste nach Andreas' Schema wohl am einfachsten > zu gestalten und auch effizienter, als ich gedacht hatte, abzufragen. nun weiss ich nicht ob ich damit gemeint bin aber auf den Verdacht hin: Wenn du die Ranglistenposition pro Spieler pro Spiel benötigst gilt auch hier der Ansatz: Die Position wird in der Tabelle (game,user,score) als weitere Spalte gespeichert. Das Ändert sich nur beim Abschluss eines Spieles. Also sollte zu dem Zeitpunkt eine syncronisierte Berechnung laufen. Syncronisiert vor parallelen Spielenden deswegen weil es sonst zu Fehlberechnungen führen würde. Ich schätze das man die Berechnung evtl. sogar in einer einzigen Update-Anweisung unterbringen könnte - das wäre dann syncron genug. Kleiner Tip: Anzahl der Datensätze kleiner gleich einer Score ist die Position ... Gruß, Andreas
php::bar PHP Wiki - Listenarchive