0

次のコードを使用して、rand_btns NSMutableArray から UIButton を非表示にします。

int random = arc4random_uniform ([rand_btns count]);

if (random != level - 1) {
    [[rand_btns objectAtIndex:random] setHidden:YES];
} else {
    // call again this method
}

それはうまく機能しますが、... 繰り返します。OR の繰り返しを停止して、rand_btns 配列の UIButton が非表示になっているかどうかを確認するにはどうすればよいですか。この objectAtIndex を再度含める必要はありません。

つまり、私のコードを使用する場合、特定の objectAtIndex を除いて、配列からランダム ボタンを非表示にすることができます。

int randomから NUMBER を超えて繰り返さないでください

4

3 に答える 3

2

繰り返さないランダムな数字のシーケンスが必要な場合は、配列に連続した数字を入力してから、リストをシャッフルして、数字がランダムに並べられるようにする方法があります。そうすれば、各数値が 1 回だけ発生することがわかりますが、数値が表示される順序を予測することはできません。

于 2013-08-20T20:46:13.487 に答える
1

乱数はランダムであるため、繰り返すことができます。おそらく、これまでに提供された乱数のリストを保持する必要があり、新しい番号が必要な場合は、リストにない番号が得られるまで試行を続けます. また、これまでにない数字を探している場合は、遅かれ早かれ無限ループに陥ることに注意してください。最終的には、必要な範囲に「空き」の数字がなくなるためです。

于 2013-08-20T20:44:03.037 に答える