cem*_*ebi 0 c# unity-game-engine
我有从51个精灵中随机选择15个精灵的代码.它可以生成2个重复的精灵(这对我来说是可以接受的),但我想避免3个重复的值.我怎么能防止这种情况?
我的代码
for (int i = 0; i < 16; i++)
{
int arrIndex = UnityEngine.Random.Range(0, tasSprites.Length);
tasSprite = tasSprites[arrIndex];
tasName = tasSprite.name;
taslar.Add(Int32.Parse(tasName));
}
Run Code Online (Sandbox Code Playgroud)
您是否尝试检查每个生成的索引是否已经出现过两次taslar,如果是,则生成另一个索引?
while (taslar.Count < 16)
{
int arrIndex = UnityEngine.Random.Range(0, tasSprites.Length);
tasSprite = tasSprites[arrIndex];
tasName = tasSprite.name;
int value = Int32.Parse(tasName);
if (taslar.Count(t => t == value) < 2)
{
taslar.Add(value);
}
}
Run Code Online (Sandbox Code Playgroud)