关于iOS游戏 - 升级

时间:2013-10-03 16:25:12

标签: ios

游戏很简单: 按下按钮 - 赚钱,有钱 - (1)建立商店,(2)升级。

这2点对我来说是个问题。

第一。建店 如果我建立一个商店,商店每秒赚钱。 这意味着该过程必须每秒运行一次。 是否有一些代码可以做到这一点?

秒。升级 我已经制作了一个关于升级的代码。

- (IBAction)upgrade:(UIButton *)sender {
    if (sum >= 100000){
        i = 300;
        sum = sum - 100000;
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"업그레이드 성공!" message:@"당신의 버거가 업그레이드 되었습니다! 축하합니다" delegate:self cancelButtonTitle:@"예, 감사합니다!" otherButtonTitles:nil];
        [alert show];
    } else {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"업그레이드 할 수 없습니다" message:@"총 금액이 부족합니다" delegate:self cancelButtonTitle:@"예, 더 모을께요" otherButtonTitles:nil];

[alert show];
    }
}

然而,问题是我为此计划了93次升级。 我必须像93这样的代码写下来吗? 如果我立刻升级,它不应该再升级!。

例如,您已经用“100000”钱升级了一次 你应该升级下一个(不是100000),但现在代码可以升级.. 那么,是否有一些代码可以锁定代码?

1 个答案:

答案 0 :(得分:0)

对于第一个问题:只需使用计时器。网上有很多关于如何使用NSTimer的指南,所以我不会在这里包含一个样本,这对读者来说是一个练习:)

对于第二个问题,听起来你需要一个数据库(各种各样)!

像JSON中的一个简单的东西可以工作(虽然它很容易破解;))。

例如:

{ "upgrades":[
    {"id":1, "cost":1000, "perSec":1}, 
    {"id":2, "cost":10000, "perSec":2}
  ]
}

然后你需要一个标志才能知道你以前购买过它(使用NSUserDefaults,将它存储在核心数据或sqlite中,只要你将它存储在某个地方并不重要)。然后你就可以找到下一个未购买的升级产品并将其出售。

如果您的升级算法缩放甚至不需要数据库,您只需要存储先前的升级和升级编号(它是第一次升级吗?第二次?等)并执行算法以获得下一次升级。