在经过一定时间后给予用户奖励
本文关键字:用户 经过 定时间 | 更新日期: 2023-09-27 18:30:58
在我的游戏中,用户每10分钟获得一次奖励。
即使他们离开应用程序/游戏,当他们回来时,如果 10 分钟过去了,他们仍然会得到奖励。
例如,用户正在玩游戏,离开游戏还有 5 分钟,距离下一个奖励。
然后,用户离开游戏并在一小时后返回。
我将如何查看自上次开盘以来是否已经过去了 5 分钟?
有谁知道如何做到这一点?我正在使用团结。
你可能想使用 DateTime
struct
,尤其是它的DateTime.Now
。
-
当您的玩家离开游戏时,保存日期时间:
DateTime leaveDateTime = DateTime.Now; //Store leaveDateTime value
-
当您的播放器恢复时,
//load leaveDateTime value TimeSpan diff = DateTime.Now - leaveDateTime;
然后使用您的TimeSpan
值(选中TimeSpan.TotalMinutes
)为您的玩家提供奖励。
if (TimeSpan.TotalMinutes >= 5){
//Give rewards for your players
}
伊恩的回答是可以的,但它有一个问题,如果用户更改系统(PC、手机等)日期和时间,假设在日期上加上一年,当他回到游戏中时,他将获得无数的奖励不公平!我认为当前日期时间必须从ntp server
而不是DateTime.Now
接收。
看看这个答案:如何使用C#查询NTP服务器?