Распределить квоту в течение 24 часов

Я боролся с проблемой в течение некоторого времени и решил обратиться за помощью.

Сценарий:
В онлайн-игре у пользователя есть «валюта», некоторые пользователи получают бонус в этой валюте, бонус должен даваться каждый день в течение определенного периода времени 24 часа с динамической квотой. В конце дня квота должна быть предоставлена ​​пользователю.
Максимальная квота — это количество минут в дне. Валюта не может быть увеличена более чем на одну каждую минуту. Валюта, которую пользователь в данный момент хранит в базе данных, отображается в рейтинге на странице, фактически рейтинг упорядочен по этой валюте

У пользователя А есть квота 100, поэтому он должен получать 100 валют в день, распределенных по времени, и это основная идея — распределять квоту за день.

Каждую минуту выполняется cronjob, я смоделировал это и заставил его работать здесь:

$minutesSinceMidnight = 0;
$dailyQuota = 100;
$result = 0;
do {
if(!($minutesSinceMidnight % floor(1440 / $dailyQuota)))
{
$result += 1;
echo "Minutes since Midnight ".$minutesSinceMidnight. " result ". $result."\n";

}$minutesSinceMidnight += 1;
}
while($minutesSinceMidnight != 1440);

echo "We got ". $result;

https://ideone.com/YjjzDG

Проблема в том, что это довольно неточно, у вас есть предложения, как решить эту проблему лучше?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]