基本上我创造了一个游戏,经过一段时间后产生了一个球。然而,随着时间的推移和玩家得分的增加,更难以杀死的球会产生。 在此之前,我已经设置的所有生成方法都按照我希望的方式运行,但它们包含在一个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循环不能同时在同一个类中延迟执行(或者它们可能而且我只是以错误的方式处理它)但我是陷入困境,我不知道更好的方法来实现我想要的生成技术..非常感谢任何帮助!!