尝试改变一些按钮的位置使用随机函数,我目前使用3 while循环的设置为我的每一个按钮.它的作品,但我想知道是否有一个更有效的方法来防止随机输出从是相同的比我有什么?(我很新的编程,所以请让我知道我如何可以改进.谢谢!!:D)
Random r = new Random();
int location = r.Next(0, 3);
btnCorrect.Location = new Point(xCoordinates[location], positionY);
int location2 = r.Next(0, 3);
while (location2 == location)
{
location2 = r.Next(0, 3);
}
btnIncorrect1.Location = new Point(xCoordinates[location2], positionY);
int location3 = r.Next(0, 3);
while (location3 == location|| location3==location2)
{
location2 = r.Next(0, 3);
}
btnIncorrect2.Location = new Point(xCoordinates[location2], positionY);
2条答案
按热度按时间nue99wik1#
对于这类任务,通常的解决方案是使用Fisher–Yates shuffle,在您的情况下,您可以移动索引:
c7rzv4ha2#
这是@gurustron的answer的另一个变体,该解决方案使用
Random
对值进行排序