phpbar.de logo

Mailinglisten-Archive

[php] Gleichmäßige (Gewinn-)Verteilung innerhalb eines Zeitraumes

[php] Gleichmäßige (Gewinn-)Verteilung innerhalb eines Zeitraumes

katja_erkes katja_erkes at yahoo.de
Mi Apr 6 20:18:01 CEST 2011


Hallo Oliver,
Soweit ist das gangbar.
Jedoch würde ich an deiner stelle noch einen Zufalls Generator einbauen 
der das ganze nicht berechenbar macht nicht das jemand mehr als einen 
Gewinn abholt.
Man kann auch dafür sorgen das durch IP oder Cookies ein Gewinner 
markiert wird damit er oder sie nicht öfter als einmal Teilnehmen können.
Wenn die gewinne verschickt werden kann man auch sicherstellen das der 
Name und die Adresse nicht gleich sein dürfen.
Ich denke mal das du deine gewinne an möglichst viele raus geben 
möchtest und nicht an ein paar wenige Raffinierte User.
Dies nur so als Anmerkung am Rande.

Gruß Katja


Am 06.04.2011 16:41, schrieb Oliver Baran:
> Hallo Mathias,
>
> danke für Deine Idee.
>
> Mein Ansatz ist nun folgender:
> ################################################################
>
> Start
> --------------------
> Berechne die Sekunden bis zum 1. Gewinn nach dem Startzeitpunkt
> anzahl_sekunden_bis_gewinn = (Zeitpunkt_Ende - Zeitpunkt_Start) /
> Anzahl_der_gesamt_Gewinne
>
> 1. Teilnahme (oder keiner hat bis jetzt gewonnen)
> --------------------
> Ist der Zeitpunkt_Teilnhame>= Zeitpunkt_Start + anzahl_sekunden_bis_gewinn
>   Ja, ist größer gleich:
>     Gewonnen!
>     Berechne erneut die Sekunden bis zum nächsten Gewinn nach diesem Gewinn:
>       anzahl_sekunden_bis_gewinn = (Zeitpunkt_Ende -
> Zeitpunkt_Teilnhame) / Anzahl_der_noch_uebrigen_Gewinne
>   Nein, ist ist kleiner:
>     Verloren!
>     Mache nichts weiter.
>
> ====================
>
> 2. Teilnahme (angenommen die vorherige Teilnahme hatte gewonnen)
> --------------------
> Ist der Zeitpunkt_Teilnhame>= Zeitpunkt_letzter_Gewinn +
> anzahl_sekunden_bis_gewinn
>   Ja, ist größer gleich:
>     Gewonnen!
>     Berechne erneut die Sekunden bis zum nächsten Gewinn nach diesem Gewinn:
>       anzahl_sekunden_bis_gewinn = (Zeitpunkt_Ende -
> Zeitpunkt_Teilnhame) / Anzahl_der_noch_uebrigen_Gewinne
>   Nein, ist kleiner:
>     Verloren!
>     Mache nichts weiter.
>
> etc.
>
> ################################################################
>
>
> Was meint ihr?
>
> Grüße
> Oliver
>
> Am 6. April 2011 14:59 schrieb Mathias Gloß (www.gmail.com)<mgloss at gmail.com>:
>> Aloha,
>>
>> Am 6. April 2011 14:19 schrieb Oliver Baran<obaran at gmail.com>:
>>
>> Ich möchte eine bestimmte Anzahl an (verschiedenen) Gewinnen in einer
>>> bestimmten Zeit gleichmäßig an eine unbestimmte Anzahl an Teilnehmern
>>> verteilen dabei darf es auch Nieten geben.
>>> Beispiel:
>>> Gewinn A: genau 500 zur Verfügung
>>> Gewinn B: genau 10 zur Verfügung
>>> Gewinn C: genau 5000 zur Verfügung
>>> Zeitraum genau 8 Wochen
>>>
>>> *Nun soll es so sein, dass die Gewinne über den gesamten Zeitraum
>>> relativ gleichmäßig verteilt ausgegeben werden.
>>> *
>>
>>
>> da hast du doch schon die Lösung :)
>>
>>
>>> Das "Nietengewicht" müsste also in Abhängigkeit von den Teilnehmern,
>>> den noch offenen Gewinnen und der Zeit stehen.
>>>
>>
>> Die Teilnehmerzahl an sich ist dann uninteressant, nur die Zeit ist
>> interessant.
>>
>> 8 Wochen sind *rechen* 8 * 24 * 60 * 60 Sekunden, das sollten also 691200
>> Sekunden sein.
>> Gewinne hast du 5510, d.h. alle 691200 / 5510 = *125 Sekunden* gibts einen
>> Gewinn.
>>
>> Jetzt musst du das nur noch passend praktisch lösen und auf jeden Fall
>> sicherstellen, daß jeder 125-Sekunden-Gewinn:
>> a) nur einmal abgeholt wird
>> b) auf jeden Fall abgeholt wird
>>
>> a) lässt sich durch Sperren erledigen, b) durch<  statt = beim Zeitvergleich
>>
>>
>> Grüße, Mathias
>> --
>> ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de **
>> Informationen: http://www.phpbar.de
>> http://lists.phpbar.de/mailman/listinfo/php
>>


php::bar PHP Wiki   -   Listenarchive