我正在制作基于浏览器的多人游戏。
在游戏中,注册玩家可以“攻击”其他玩家。玩家“攻击”玩家后,他必须等待30分钟,然后才能重新设置“攻击”能力。
我有一个实现的想法,但是不确定我的方法是否是错误的做法:
我考虑过在数据库中向每个注册用户添加一个“ TimeToReset” 字段,并使用计时器对象填充该字段。玩家“攻击”他的“ TimeToReset” 字段开始从30分钟倒数到0。
,然后让应用程序通过一会儿True循环连续查询数据库中的所有用户,寻找其“ TimeToReset”达到0的用户。然后运行代码以重置其再次“攻击”的能力。
我不确定我的方法是否有效或是否可行,是否会喜欢一些建议。 因此总结:
1)是否可以在数据库中存储一个不断变化的计时器/秒表对象?
2)连续运行一会儿true循环查询数据库是否有效?
或者如果有更好的方法来实现此功能,我想听听。
谢谢
答案 0 :(得分:3)
我不确定这样做会有什么好处。当然,您要做的就是为每个用户存储上次攻击的时间,如果在当前时间之前不到30分钟,则禁止攻击。