多个for循环同时执行?迅速

时间:2016-10-22 05:11:33

标签: swift multithreading

基本上我创造了一个游戏,经过一段时间后产生了一个球。然而,随着时间的推移和玩家得分的增加,更难以杀死的球会产生。 在此之前,我已经设置的所有生成方法都按照我希望的方式运行,但它们包含在一个switch语句中,该语句计算了球会产生的概率。

//pseudo:
let spawnProbability = arc4random_uniform(100)
switch spawnProbability {
    case 0…60: //60% spawn chance
        //spawn small ball
    case 61…90: //~30% spawn chance
        //spawn medium ball
    case 91…100: //~9% chance
        //spawn large ball
    default:
        break
}

这是一个计划B,但我想实现我最初设计的那个是上述方法。

我完成我最初想到的想法是:

  • for循环产生小球直到得分计数器达到一定数量

  • 分数计数器达到之后
  • ,比如100pts,除了第一个循环外,还会执行另一个for循环。因此,中等和小球在延迟后产生。

  • 在得分计数器达到另一个标记后,大球会开始在中球和小球上产生。

这就是我的意思:(再次伪代码)

for(var i = 0; i < 10; i++) {
    //delay
    //spawn small ball
}

if score >= 100 {
    for (var x = 0; x < 10; x++) {
        //delay
        //spawn medium ball

    }
}
// . . . and so on

我已经把很多想法放在了如何实现我想要的东西上,但是我无法想出更好的方法来解决这个问题。我理解为什么这不起作用以及为什么多个for循环不能同时在同一个类中延迟执行(或者它们可能而且我只是以错误的方式处理它)但我是陷入困境,我不知道更好的方法来实现我想要的生成技术..非常感谢任何帮助!!

0 个答案:

没有答案