|Think about Loose Coupling|
Daily Actionsby Spidy (Chaplain)
|on May 17, 2007 at 14:53 UTC||Need Help??|
Spidy has asked for the
wisdom of the Perl Monks concerning the following question:
Greetings, fellow monks.
I am currently working on an online game, where we need to limit users to performing so many actions per day, using a turns system. We are using a MySQL database to store their turns remaining, and they lose a turn each time that they perform an action. However, I want to make it so that they regain some amount(5?) turns each new day...does anyone know of a way that I could do this? I thought of using cron, but I'm not sure my web host would look favorably on that, and would like a solution that I can tweak directly in my Perl. My best idea thus far has been to use localtime() and somehow compare the year, month, and date.
Basically, what I've figured out that I need to do is compare the last time that they visited, by the year then month then day, in order to figure out if there's a difference large enough to give them their new turn allotment. While it would be sweet to do this with cron(and much easier, definitely), I'm looking for a solution using Perl. The solution I'm currently considering is just storing a user's last year/month/day of an action, and then comparing that to what's returned by localtime(). What are your thoughts?