Как лучше плавно увеличивать значение?

Допустим у нас обычные php и mysql
Значение населения 100 человек. Параметр счастья был 0, построили памятник Ленину он стал 20
Вопрос: как лучше плавно увеличивать счастье населения с 0 до 20?
Идея которая пришла сходу это обход каждую минуту по крону и смотреть например
if(текущее счастье < максимума счастья) { увеличить текущее на 1 }
И так до тех пор пока текущее не станет 20. Но если в БД много пользователей и у каждого есть такой параметр или несколько, рационален ли этот метод?
P.S. Есть ещё решения когда параметр увеличивается не линейно, но тут особо нет идей, например:
0-5 - 3 ед. в час
5-10 - 2 ед. в час
10-15 - 1 ед. в час
15-20 - 0,5 ед. в час
  • Вопрос задан
  • 237 просмотров
Решения вопроса 2
stasuss
@stasuss
быдлокодер со стажем
установить timestamp после постройки памятника.
когда кто то запрашивает конкретное значение, плюсовать его в зависимости от timestamp
соответственно это требует что бы объект игровой представлял собой не просто набор параметров, а так же имел в себе логику работы в виде функций, которые "умно" получают и устанавливают значения
Ответ написан
profesor08
@profesor08 Куратор тега PHP
Ну раз все данные в БД, то пусть этим занимается sql сервер.
Сделайте UPDATE по определенным условиям, а sql сервер все сделает.

$db->query("UPDATE users SET happiness = happiness + 1 WHERE happiness >= 10 AND happiness < 15");
$db->query("UPDATE users SET happiness = happiness + 3 WHERE happiness >= 0 AND happiness < 5");

Ну это так, совсем по простому.

Еще можете сделать процедуру в базе данных, которая все будет делать. И лишь вызывать ее из скрипта.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы