每50分后加速游戏

Speed up game after every 50 points

我正在用 sprite-kit 制作一个 2D 反应游戏,我又遇到了同样的问题。我已经问过这个问题一次并且得到了很好的答案并且一切正常但现在我再次陷入困境。

就像标题说的那样,我想每 50 点加速我的游戏,但是当我获得正确的点数(如 50、100、150)时它只会加速。问题是我有连击点数及其总是多一些点。例如从 48 点到 51 点,所以它永远不会加速。我怎样才能加快游戏​​的速度甚至更多?我的意思是从 50 到 100 加速,从 100 到 150 等等。到目前为止,这是我的代码:

if (points % 10 == 0) {

    if (readyToSpeed) {

        speed++;
        NSLog(@"speed up");
        readyToSpeed = NO;
    }
}

感谢您的帮助! (请输入 objective-c 中的代码)

编辑:将两个答案结合使用效果完美。

你可以这样做,而不是增加你的速度:

speed = baseSpeed + (points / 50);

其中 baseSpeed 是游戏开始时的速度。

不要担心精确的 50 倍倍数点,通过模数跟踪当前点 "group" 以得出您的速度值

cur_speed = points - (points % 50);

例如如果他们在 203 点,那么 cur_speed 是 203-(203%50) -> 203-3 -> 200。如果他们突然跳到 308 点因为他们打了一个疯狂的点组合,然后速度变成308-(308%50) -> 308-8 -> 300

如果您想要介于 50-100 和 100-150 之间,请执行以下操作:

If points >  50 && points < 100 {  
//speedup code
}else if points > 100 && points < 150 {
//speedup code
} //etc

更新:如果你想让它永无止境,请这样做:

var speednumber = points/50
speednumber = speednumber-decimal   //some code to cut of the decimals
setSpeedTo(speednumber+1) //you got to make a function for this

setSpeedTo(1) 会正常
2 将从 50-100
3 100-150
等等