可能重复:
随机数生成器仅生成一个随机数
我有点这个几分钟前百思不得其解。 我有以下代码:
public blockType generateRandomBlock()
{
Random random = new Random();
int makeBlockOfType = random.Next(0, 100);
blockType t = blockType.normal;
if (makeBlockOfType <= 80 && makeBlockOfType >= 60)
{
t = blockType.blue;
}
else if (makeBlockOfType > 80 && makeBlockOfType <= 95)
{
t = blockType.orange;
}
else if (makeBlockOfType > 95 && makeBlockOfType <= 100)
{
t = blockType.green;
}
return t;
}
相当简单,它返回一个enum
基于随机生成的数字值(基于系统时间)。 不幸的是,一些奇怪的原因,我有所有的块或者一个颜色或者即使这会运行每一个块被投入到游戏中的其他。 然而,当我通过这个步骤与调试器,然后看到一些运行后的结果,我看到块多,现在根据所提供的机会着色。 我有点搞不清楚为什么这种情况正在发生。
对于这个我使用MonoGame它采用了单声道编译器,而不是微软的一个。 难道这是问题? 我试图内嵌把这段代码到构造函数从它被称为在那里,但我得到了同样的结果(我猜编译器内联代码反正)。
我试图重新启动Visual Studio它分开,而不是让运行做的构建; 没有变化。
任何建议和帮助是极大的赞赏!