Loops 我想根据波浪中会产生的不同敌人的数量随机产生一系列敌人。(TD游戏),我该怎么做? private void determineenmyselection() { int _totalCount=0; for(int i=0;i
上下文:Enemicounts[]包含每种类型的敌人数量(Enemicounts[0]是将在波浪中繁殖的类型1的敌人数量) _totalCount是将在波浪中繁殖的敌人总数,包括所有敌人类型。 我的想法是有一堆数字作为敌人的类型id。数字从0到6,将被随机推送。如果enemyCounts[_sel]为空,我想创建一个新的随机数,如果可能,将该随机数从范围中排除(因此,如果enemyCounts[3]为空,可能会生成数字0 1 2 4 5) 我找不到解决办法。我已经有一个涉及了一个while循环,但由于某种原因,这使游戏在一段时间后崩溃,达到2701470次尝试生成下一个敌人,导致崩溃。我想要一个堆栈,它最终的长度为_totalCount(这样你就不会得到重复的敌人),看起来有点像{0,1,2,0,4,1,0,3,0,3,5,1,5,3,3,2,2,0}等等。这意味着这将是敌人的继承Loops 我想根据波浪中会产生的不同敌人的数量随机产生一系列敌人。(TD游戏),我该怎么做? private void determineenmyselection() { int _totalCount=0; for(int i=0;i,loops,random,crash,stack,Loops,Random,Crash,Stack,上下文:Enemicounts[]包含每种类型的敌人数量(Enemicounts[0]是将在波浪中繁殖的类型1的敌人数量) _totalCount是将在波浪中繁殖的敌人总数,包括所有敌人类型。 我的想法是有一堆数字作为敌人的类型id。数字从0到6,将被随机推送。如果enemyCounts[_sel]为空,我想创建一个新的随机数,如果可能,将该随机数从范围中排除(因此,如果enemyCounts[3]为空,可能会生成数字0 1 2 4 5) 我找不到解决办法。我已经有一个涉及了一个while循环,
没有无休止的循环,最好的解决方法是什么?我自己找到了解决这个问题的方法:
private void DetermineEnemySelection()
{
int _totalCount = 0;
for(int i = 0; i < enemyCounts.Length; i++)
{
_totalCount += enemyCounts[i];
}
Stack<int> rn = new Stack<int>();
for(int i = 0; i < _totalCount; i++)
{
int _sel = Random.Range(0, 5);
if(enemyCounts[_sel] == 0)
{
}
}
}
private void determineenmyselection()
{
int _totalCount=0;
for(int i=0;i
我自己找到了解决此问题的方法:
private void DetermineEnemySelection()
{
int _totalCount = 0;
for(int i = 0; i < enemyCounts.Length; i++)
{
_totalCount += enemyCounts[i];
}
Stack<int> rn = new Stack<int>();
for(int i = 0; i < _totalCount; i++)
{
int _sel = Random.Range(0, 5);
if(enemyCounts[_sel] == 0)
{
}
}
}
private void determineenmyselection()
{
int _totalCount=0;
for(int i=0;i