我制作的游戏涉及查找并点击网格中的数字(0-9),每次点击正确的网格时随机化。
我想得到它,以便当您点击正确的数字时,网格再次随机化。 你会怎么做?
这是最终的样子:
答案 0 :(得分:3)
我假设您按顺序渲染整数数组:
for (int i = 0; i < arrayOfNumbers.Length; i++ ) {
// rendering here
render(arrayOfNumbers[i]);
}
如果是这样的话......只需在成功点击后随机化数组......有点像这样:
var rnd = new System.Random();
var arrayOfNumbers = Enumerable.Range(1, 9).OrderBy(r => rnd.Next()).ToArray();
然后你可以重新渲染(或让你的游戏循环继续渲染数组)。由于数组已更改,您的渲染也将如此。
答案 1 :(得分:0)
每当您检测到正确数字上的点击时(我希望您知道如何执行此操作),您只需随机化您在网格中显示的数字数组:
//Fisher-Yates algorithm
Random generator = new System.Random();
int len = array.Length;
while (len > 1)
{
len--;
int k = generator.Next(len + 1);
int temp = array[k];
array[k] = array[len];
array[len] = temp;
}