点击随机化的数字网格

时间:2013-09-05 04:32:33

标签: c#

我制作的游戏涉及查找并点击网格中的数字(0-9),每次点击正确的网格时随机化。

我想得到它,以便当您点击正确的数字时,网格再次随机化。 你会怎么做?

这是最终的样子:

http://puu.sh/4jphx.jpg

2 个答案:

答案 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;
}