Zurück   klamm-Forum > klamm.de > klamm talk > Bug-Report

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18.03.2010, 18:33:59   #1 (permalink)
Erfahrener Benutzer

ID: 10458
Lose-Remote

Reg: 25.04.2006
Beiträge: 130
Ausrufezeichen Bingo-Ladder-Fehler

Hallo,

wie auf dem Bild zu sehen, spinnt die Bingo-Ladder noch ein wenig.
Irgendwie sind da alle Platzierungen durcheinander...mal ist man 6ter, dann aber in der Verfolgerstatistik auf einmal 4ter...und bei der Statistik für die verfallenen Punkte, steht man auf Platz 11 und ist zugleich Letzter?!
Da müsste vielleicht noch einer ran

Aber echt super, dass es so ne Übersicht mal gibt



Gruß
 
marc ist offline   Mit Zitat antworten
Alt 19.03.2010, 12:58:49   #2 (permalink)
abgemeldet

Reg: 08.07.2006
Beiträge: 860
Standard

ich sehe keinen Fehler?
Du hast am 2.meisten Bingopunkte (18 ), am 6.meisten Gutscheine (3) und bist der erste mit 100% abgeholten Punkten und in DIESER Rangliste auf Rang 11?
 
Herm ist offline   Mit Zitat antworten
Alt 19.03.2010, 13:02:15   #3 (permalink)
Administrator
Benutzerbild von klamm

ID: 20876
Lose-Remote

Reg: 20.04.2006
Beiträge: 11.015
Standard

Wurde mittlerweile behoben.
 
klamm ist offline   Mit Zitat antworten
Alt 03.06.2010, 15:40:45   #4 (permalink)
Erfahrener Benutzer

ID: 10458
Lose-Remote

Reg: 25.04.2006
Beiträge: 130
Ausrufezeichen Bingo-Ladder-Fehler besteht immernoch

Hallo,

wie auf dem Bild zu erkennen kalppt die Ladder für die Bingo-Points immer noch nicht richtig.
Bei der Gutschein-Ladder bin ich beispielsweise bei der Ansicht der engsten Verfolgern auf Platz 6...in den TopTen erscheine ich aber nicht...
Bei der BP-Ladder sind meine engsten Verfolger auch IMMER einen Bingopoint vor- bzw. hinter mir...als ob es keinen User mit gleich vielen Bingopoints gibt...

Ist hier eine Korrektur möglich?!

Danke schon mal :-)

 
marc ist offline Threadstarter   Mit Zitat antworten
Alt 03.06.2010, 21:38:35   #5 (permalink)
Administrator
Benutzerbild von klamm

ID: 20876
Lose-Remote

Reg: 20.04.2006
Beiträge: 11.015
Standard

Zitat:
Zitat von marc Beitrag anzeigen
Bei der BP-Ladder sind meine engsten Verfolger auch IMMER einen Bingopoint vor- bzw. hinter mir...als ob es keinen User mit gleich vielen Bingopoints gibt...
Das ist normal und in jeder Verfolgeransicht so. Das ist ja sortiert nach Wert X (hier: Bingo Punkte) und nix anderem. Du bist exemplarisch als 556. genannt. Natürlich sind da gleichzeitig noch 500 andere mit 4 Punkten auf diesem Platz. Man interessiert sich ja aber nicht für sekundäre Sortierparameter, sondern mit vielen Punkten man 1 weiter nach vorne kommt. Nur in den Plätzen 1-10 kommen sekundäre Parameter zum Einsatz (BP>GS>%Cl). Irgendwie muss man da ja sortieren, dass man ne Top10 hinbekommt.

Bei der Gutschein-sortierten Ladder ist es genauso in der Verfolgeransicht. Dass die Verfolger aber nicht konsistent mit Platz 1-10 (7.) sind könnte ein Bug sein, da schau ich nach.
 
klamm ist offline   Mit Zitat antworten
Alt 04.06.2010, 00:32:51   #6 (permalink)
Erfahrener Benutzer

ID: 10458
Lose-Remote

Reg: 25.04.2006
Beiträge: 130
Idee Ladder-Bug

Hallo Lukas und vielen Dank für die schnelle Antwort.
Dein Argument mit dem Interesse, dass man eins weiter nach vorne kommt, kann ich zwar auch nachvollziehen, aber wenn man die sekundären Werte mit einbeziehen würde und die ganzen Ranglisten danach aufbauen würde, käme man ja auch ggf einen Platz nach vorne wenn man sich im Sekundärwert eins verbessert.
Und zudem kämen dann solch falsche Darstellungen nicht mehr zustande wie nach meinem eben gewonnenen BingoPoint
Wie man im Bild unten erkennen kann bin ich jetzt 10ter und 6ter zugleich

Mein Verbesserungsvorschlag wäre die Primärwerte hier in diesem Fall meinetwegen x1000 zu nehmen und die Sekundärwerte einfach zu zählen...so sollte es doch gelingen eine lupenreine Rangliste hinzubekommen.

Beispiel für die Gutschein-Ladder: User1 hat 10GS/35BP, User2 hat 10GS/20BP, User3 hat 10GS/25BP, User4 hat 10GS/10BP, User5 hat 10GS/30BP, User6 hat 9GS/35BP, User7 hat 9GS/40BP,...
Somit wäre folgende Reihenfolge korrekt:

1. User1 10GS 35BP (interne Datenbank-Punktwertung: 10035)
2. User5 10GS 30BP (10030)
3. User3 10GS 25BP (10025)
4. User2 10GS 20BP (10020)
5. User4 10GS 10BP (10010)
6. User7 9GS 40BP (9040)
7. User6 9GS 35BP (9035)
...

Bis 200 Gutscheinen bei einer Person wäre man so auf der sicheren Seite ;-)

Wenn User die absolut gleiche Zahl haben...primaär, wie sekundär, dann könnte ich noch verstehen, dass die eben beide den gleichen Platz haben, so wie ich jetzt zB mit User 55443 zusammen, aber ggf kann man die Liste der absoluten Verfolger ja noch erweitern, so dass einem je die drei nächsten nach oben/unten angezeigt werden...falls das nicht zu viele Ressourcen frisst ;-)

Kannst ja mal drüber nachdenken...ich fänd' es gut wenn es dahingehend geändert würde - denn ich finde es bringt nichts wenn man weiß, wann man jemanden in einer Rangliste überholt, obwohl diese Rangliste nicht so wirklich richtig ist...

 
marc ist offline Threadstarter   Mit Zitat antworten
Alt 04.06.2010, 08:21:03   #7 (permalink)
Administrator
Benutzerbild von klamm

ID: 20876
Lose-Remote

Reg: 20.04.2006
Beiträge: 11.015
Standard

Das ist eigentlich schon so, dass ich überall Sekundärparas mit einbeziehe.
Zumindest alle, die in der Ladder auch sichtbar sind - damit man weiß, warum man ggf. eins weiter vorne is als der mit gleichvielen Primärpunkten. Bei der Gutschein-Ladder hab ich das nur vergessen glaub ich (in den Top 10). Hatte nur noch keine Zeit zum Guggen ... Montag!

Zitat:
Wenn User die absolut gleiche Zahl haben...primär, wie sekundär
Das passiert sehr selten ...
... aber da sortiere ich als letztes einfach nach User-ID.

Edit: Ich hab nachgeschaut. Scheint ein Logikfehler zu sein.
Bei den Top10 hole ich einfach die normale Top10, sortiert nach gs,bp,cl.

An der Stelle "welchen Platz hat der User selbst?", schaue ich, wieviele User MEHR Bingopunkte haben als dieser User, denn den eigenen Platz sehe ich mit allen gleichen Usern als geteilt an. Sprich in Deinem Fall: 5 User haben definitiv MEHR Bingopunkte. Somit bist Du der 6. beste User (zusammen mit X anderen). Irgendwie bin ich mir aber nich sicher ob das so korrekt is. ^^

Edit2: Es ist mir schon bewusst, dass ich einfach das Ergebnis der Topliste weiter benutzen könnte, aber das ist nicht arg effizient, wenn man selbst erst auf Platz 12.371.263 (theroetisch) kommt und man vorher alles durchlaufen müsste zum Suchen. Nur häng ich grade an der Logik, wie ich den eigenen Platz per Suchausdruck direkt aus der DB finde mit exakter Beibehaltung der Sortierung wie in der Top10.

Edit3: Ich bin nicht der Einzige mit dieser Frage
http://forums.mysql.com/read.php?52,29404,115305
Naja, da die Ladder eh gecached wird, weiche ich im Notfall auf die Spaghetti-Variante aus.
 
klamm ist offline   Mit Zitat antworten
Alt 04.06.2010, 09:40:58   #8 (permalink)
Lose 2.0 –
das zweite Zeitalter
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 22.650
Standard

Wenn die Ladder eh gecacht wird, kannst du doch in diese Cache-Tabelle noch die Platzierung mit aufnehmen (@rank = @rank + 1).
NEU OpenIsles - das freie Insel-Aufbauspiel NEU

www.theHacker.ws v3 | WhatPulse-Team
Bezahlte Startseite
- mehr Verdienst als auf klamm - viele Auszahlungen erhalten
theHacker ist offline   Mit Zitat antworten
Alt 04.06.2010, 09:57:30   #9 (permalink)
Administrator
Benutzerbild von klamm

ID: 20876
Lose-Remote

Reg: 20.04.2006
Beiträge: 11.015
Standard

Jap, nur das Cachen an sich ist halt unschön, da ich 1x das *komplette* result verarbeiten muss, anstatt limit 1,10 zu machen und dann noch 2 schnelle count(*) queries ... je nachdem, auf welcher Position der User gerade ist. Worst Case also: 320.000 rows. Ich achte eigentlich immer auf "was wäre wenn klamm mal 10mio user hat"

Geht trotzdem in 2sek aber ist halt bäh.
Hier wäre das "fixed" resultat.
Angehängte Grafiken
Dateityp: jpg fix.JPG (24,1 KB, 19x aufgerufen)
 
klamm ist offline   Mit Zitat antworten
Alt 04.06.2010, 10:34:55   #10 (permalink)
Lose 2.0 –
das zweite Zeitalter
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 22.650
Standard

Zitat:
Zitat von klamm Beitrag anzeigen
Jap, nur das Cachen an sich ist halt unschön, da ich 1x das *komplette* result verarbeiten muss, [...]
Oder um das mal anders zu betonen:
Zitat:
Jap, nur das Cachen an sich ist halt unschön, da ich *1x* das komplette result verarbeiten muss, [...]
Du kannst auch die Position "suchen", indem du fragst,
Code:
1:
2:
3:
SELECT COUNT(*) FROM bingo_points WHERE points > 42;
Das is aber auch n Full-Table-Scan wegen dem Größerzeichen.
Vorteil davon, dass du "echte" Plätze mit Gleichständen hast. Ob und wie man das effizient hinkriegt, darfst du dir überlegen

Ich persönlich würde einmal am Tag (so um 2 Uhr, wenn 98% ihre Bingo-Points kassiert haben) die Bingo-Ladder berechnen, dass die danach so aussieht:
RealRankKID#BP#GSInteralRank
11671263471
2105972352
21123411753
23445671254
25214755
3673881846
3528701847
3883441748
327058849
3104585410
3984478416411
44711471118312
4874774874313

Und jetzt nehm ich einen Platz drüber und einen Platz drunter, derart, dass
  • Drüber:
    • RealRank(above) = RealRank(mine) - 1 &&
    • InteralRank(above) = MAX(InteralRank)
  • Drunter:
    • RealRank(below) = RealRank(mine) + 1 &&
    • InteralRank(below) = MIN(InteralRank)
In diesem Fall also Drüber is KID 5214, Drunter is fiktive KID 47114711.
NEU OpenIsles - das freie Insel-Aufbauspiel NEU

www.theHacker.ws v3 | WhatPulse-Team
Bezahlte Startseite
- mehr Verdienst als auf klamm - viele Auszahlungen erhalten
theHacker ist offline   Mit Zitat antworten
Alt 04.06.2010, 12:27:21   #11 (permalink)
Administrator
Benutzerbild von klamm

ID: 20876
Lose-Remote

Reg: 20.04.2006
Beiträge: 11.015
Standard

Zitat:
Zitat von theHacker Beitrag anzeigen
Oder um das mal anders zu betonen:
Du kannst auch die Position "suchen", indem du fragst,
Code:
1:
2:
3:
SELECT COUNT(*) FROM bingo_points WHERE points > 42;
Dann bekomme ich nur den "Real-Rank" nach dem, was die Ladder aussagt. So hatte ich es ja die ganze Zeit (Verfolgeransicht). Das gibt aber in der Top10 Probleme, denn da müsste man dann der Konsistenz wegen auch eine Real-Rank-Top10 bauen - und da exemplarisch den aktuellen User anzeigen, sofern er sich in der Top10 auf einem geteilten Platz befindet. Das klingt wie Du schon gesagt hast - langsam. Alle anderen Ladders sind hinreichend unique in den Werten, sodass es bis jetzt nicht aufgefallen ist.

So oder so ist es ein "Full Scan", ich wollte es der Performance halber aber lieber in der DB machen als in PHP. Jetzt berechne ich das alle paar Stunden global, scanne den jeweiligen User bei Bedarf raus und cache das Ergebnis dann. Das dürfte genügen.
 
klamm ist offline   Mit Zitat antworten
Alt 09.06.2010, 09:02:29   #12 (permalink)
Administrator
Benutzerbild von klamm

ID: 20876
Lose-Remote

Reg: 20.04.2006
Beiträge: 11.015
Standard

So die Ladder ist nun durchgehend mit neuem Algorithmus bestückt. Es wird nach sichtbaren Parametern sortiert, am Ende nach UserID aufsteigend (falls X Leute auf dem gleichen Platz sind). Anhand dieser sortieren End-Liste wird dann alles hingemalt.

Sonderfall: Wenn man selbst gar nicht "dabei" ist ... z.B. bei den "Top SMS Versendern". Wenn man gar keine SMS verschickt hat, ist man mit "0" ja quasi zusammen mit 200.000 anderen auf dem letzten Platz. Dann schreib ich die eigene ID trotzdem ganz unten hin, damit man das auch gleich sieht.



Im Unterschied wenn man mit 10.000 Anderen zusammen 1 SMS verschickt hätte. Dann würden diese gleichen Werte nach UserID sortiert werden und man wäre auf Platz 7748 (oder so). Ist doof aber irgendwie muss man halt schlussendlich sortieren, um eine eindeutige Reihenfolge zu erhalten.



Edit: Kleine Verbesserung für Fall #2: Teilt man sich ein Feld mit 1000nden Anderen (exakt gleiche Werte) dann setze ich den aktuellen User immer an die Spitze dieses Feldes. So kann sich niemand beschweren, dass er immer so weit hinten ist wegen seiner hohen ID. Zusätzlich ist die Verfolgeransicht interessanter, da man als Erster des Feldes den "Real-Platz" vor einem wieder erkennen kann.
 
klamm ist offline   Mit Zitat antworten
Alt 09.06.2010, 21:40:09   #13 (permalink)
Erfahrener Benutzer

ID: 10458
Lose-Remote

Reg: 25.04.2006
Beiträge: 130
Daumen hoch

Vielen Dank, habe zwar noch nicht alle Ladder durchgeschaut, aber das was ich geguckt habe schaut doch schon viiieeel besser und korrekter aus
 
marc ist offline Threadstarter   Mit Zitat antworten
Alt 11.06.2010, 10:34:13   #14 (permalink)
Erfahrener Benutzer

ID: 272843
Lose-Remote

Reg: 01.02.2007
Beiträge: 2.070
Standard

Gab es nicht mal einen allgemeinen Tippfehler-Thread? Naja, nachdem ich ihn nicht gefunden habe, poste ich eben hier, da es die Bingo-Ladder-Seite betrifft:

Zitat:
[...]oder einem 4-stelligen Schnappszahl-Platz[...]
Schnapszahl schreibt sich mit einem P

Wobei natürlich das Doppel-P zu "schnapp's dir, das Bingo-Pünktchen" passen würde

In der FAQ115 steht es übrigens auch falsch...
Lust auf Macht und Reichtum? Artharia - das Browserspiel ohne einkaufbare Spielvorteile!
marac ist offline   Mit Zitat antworten
Alt 11.06.2010, 12:33:53   #15 (permalink)
Administrator
Benutzerbild von klamm

ID: 20876
Lose-Remote

Reg: 20.04.2006
Beiträge: 11.015
Standard

Danke, fixed.
 
klamm ist offline   Mit Zitat antworten
Antwort

Stichworte
bingo, bingopoints, fehler, ladder, points

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehler bei den Bingo Punkten Cronic69 Bug-Report 24 25.07.2011 14:43:58
Top Ref will Bingo spielen (SK) da.beren Suche Werber: Loseseiten 7 27.10.2007 13:14:36
Ladder-Fehler?! NegraBytes Bug-Report 3 07.06.2007 01:06:42
[S] Bingo-Lose für NDR-Bingo - DRINGEND Marty Lose4Misc 0 01.05.2007 21:09:55
Bela B. - Bingo Lampi Musik 6 11.07.2006 12:53:49


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16:23 Uhr.