-2

游戏很简单:按下按钮 - 赚钱,用钱 - (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)但现在代码可以升级..那么,有没有可以锁定代码的代码?

4

1 回答 1

0

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

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

像 JSON 这样简单的东西会起作用(尽管它很容易被破解;))。

例如:

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

等等。

然后你需要一个标志来知道你之前已经购买了它(使用NSUserDefaults,将它存储在核心数据或sqlite中,无论在哪里,只要将它存储在某个地方即可)。然后你可以找到下一个未购买的升级并出售它。

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

于 2013-10-03T16:40:04.363 回答