@vinni-puh

Как реализовать структуру базы для накопительного бонуса?

Доброго времени суток. Делаю скромные попытки в web-программировании и для этого пытаюсь сделать простенькую игру just4fun. Сделал чатик (node.js + socket.io). вход-выход игрока регистрируется в базу - таблица `online`(userid, login[timestamp], logout[timestamp]). Теперь задался вопросом сделать накопительный бонус для игрока (например 5 дней подряд зашел - забери бонус), и не знаю с какой стороны подойти. Понимаю, что нужна таблица где будет фиксироваться дата, когда игрок забрал бонус, а как составить запрос, чтобы с таблицы `online` узнать количество дней, который игрок подряд заходил - не знаю. Помогите советом пожалуйста.
  • Вопрос задан
  • 2267 просмотров
Пригласить эксперта
Ответы на вопрос 2
Serhioromano
@Serhioromano
Web Developer
Наверно нужен лог для этого. Таблица которая будет сохранять по записи на каждый вход. Как одни столбец можно сделать маркер Бонус типа уже отдали бонус или нет. Если накопилось входов, выдаем бонус, ставим маркер и потом считаем только новые записи в логе без маркера.

Но это только для конкнретной задачи. Если вы захотите сделать еще одни бонус например 10 дней подряд, где первые 5 тоже считаются это уже не пойдет, нужно будет еще одну таблицу делать.
Ответ написан
Комментировать
@vinni-puh Автор вопроса
Serhioromano, спасибо. Ну я ещё подумал и решил что для начала проще будет в таблице `users` сразу хранить значение сколько человек подряд дней заходит в игру (`daily`). Учитывая, что у меня есть статистика входов (таблица `online`), то мы просто смотрим, что если вчера человек заходил, то `users`.`daily`++, в противном случае `users`.`daily` = 1.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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