0

正しい数字をクリックするたびにランダム化されるグリッド内の数字 (0 ~ 9) を見つけてクリックするゲームを作成しています。

正しい数字をクリックすると、グリッドが再びランダム化されるようにしたいと思います。これをどのように行いますか?

最終的には次のようになります。

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

4

2 に答える 2

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();

その後、再レンダリングできます (または、ゲーム ループで配列のレンダリングを続行します)。配列が変更されたため、レンダリングも変更されます。

于 2013-09-05T04:45:18.477 に答える
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;
}
于 2013-09-05T11:22:21.347 に答える