Wie gehen Sie mit Punktzahlen um, die sich im Game Center verschlechtern können (z. B. Elo-Bewertung)?

8

Derzeit können sich die Game Center-Bestenlistenwerte nur in eine Richtung ändern (z. B. erhöhen). Dies macht es (glaube ich) unmöglich, mit Elo-Bewertungen und dergleichen umzugehen. Wie kommst du in deinen Bestenlisten darum herum?

Ich habe bereits bei FWIW einen Fehlerbericht / eine Feature-Anfrage bei Apple eingereicht.

Verwenden Sie einen Leaderboard-Service eines Drittanbieters? Eigen rollen?

z8000
quelle
Ich weiß nichts über das Game Center ... Aber haben Sie versucht, eine negative Punktzahl hinzuzufügen?
Ricket
GC-Bestenlisten akzeptieren nur Einträge, die besser als die vorherigen sind, sodass dies keine Auswirkungen hat.
Z8000
Haben Sie jemals eine Lösung dafür gefunden? Die folgende Antwort dient zum Speichern der Punktzahlen, jedoch nicht zum Verwenden von Game Center-Bestenlistenansichten oder -Ranglisten. Daher ist es unmöglich zu wissen (ohne beide Bestenlisten vollständig abzurufen), in welcher Position (Rang) sich ein Spieler befindet. Vermisse ich etwas
Elibud

Antworten:

5

Wenn negative Ergebnisse nicht zulässig sind: Verfolgen Sie positive und negative Ergebnisse getrennt.

Zum Beispiel beim Schreiben der Rangliste:

// Pseudocode
points_for_win = 3;
points_for_loss = 2;

if (didWin)
    leaderboard.positive_score += points_for_win;
else
    leaderboard.negative_score += points_for_loss;

Wenn Sie die Bestenliste abrufen, können Sie die tatsächliche Punktzahl des Benutzers berechnen, indem Sie:

actual_score = leaderboard.positive_score - leaderboard.negative_score; 
Blair Holloway
quelle