我在做一个游戏,我想实现一个每日奖励系统;为了每天给一些硬币。该系统将类似于许多已知的游戏,例如Angry Birds Friends
或Shadowgun: Deadzone
。每天,我第一次打开应用程序时,它会给我 5 个硬币。然后第二天给了我超过 5 个硬币,以此类推,直到最后一天给我一个物品。
问题是我不知道从哪里开始以及如何开始。是否有任何可用的库来执行此操作或实现它的简单方法?我从来没有开发过日期(NSDate
例如使用),这就是为什么我不知道该怎么做。任何想法?谢谢!
我在做一个游戏,我想实现一个每日奖励系统;为了每天给一些硬币。该系统将类似于许多已知的游戏,例如Angry Birds Friends
或Shadowgun: Deadzone
。每天,我第一次打开应用程序时,它会给我 5 个硬币。然后第二天给了我超过 5 个硬币,以此类推,直到最后一天给我一个物品。
问题是我不知道从哪里开始以及如何开始。是否有任何可用的库来执行此操作或实现它的简单方法?我从来没有开发过日期(NSDate
例如使用),这就是为什么我不知道该怎么做。任何想法?谢谢!
您实际上不需要实现服务器。您需要做的就是找到一个您信任的显示日期的网站。每次应用加载时,您都可以调用该网站并解析以查找日期。然后,您保存此日期NSUserDefaults
并在每次应用打开时进行比较
编辑
您将需要找到一个显示当前时间的网页(搜索 google 以找到一个),然后使用您的代码解析该页面以获取包含日期的字符串。在你的 appDelegate 中,一旦你得到字符串,你会想要按照这个做一些事情
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd hh:mm:ss a"];
NSDate *myDate = [df dateFromString: myDateAsAStringValue];
此时您需要将其保存到 NSUserDefaults 中
[[NSUserDefaults standardUserDefault] setObject:myDate forKey:@"lastDatePlayed"];
您还应该添加一些逻辑以将其与上次日期进行比较...但这不应该很难弄清楚
您需要在服务器上实现此功能,并与用户上次玩游戏的时间进行比较。如果您使用设备的日期,NSDate *date = [NSDate date];
用户可以简单地更改他/她设备上的日期,让您的游戏看起来就像是新的一天。
我这样做(不是针对游戏,而是针对常规应用程序,这没有区别)
我在服务器端这样做,几乎我有一个通过 http 与应用程序通信的 Web 服务器(以 json 格式发送和接收数据),我在双方都有 json 解析器。
在服务器端,我有一个正在运行的服务,它每天开始(比较小时!)运行我的代码以更新指向我的服务器数据库的点
暴露给我的应用程序的网络服务当然是检索数据库中的计算数据并使其在 json 中可用
它的工作原理相同