私は記憶ゲームを作成しようとしていますが、セルに配列からの写真をランダムに入力する方法がわかりません。主に iOS 向けの Xcode プログラミングを始めたばかりで、Stack Overflow で何日も検索しましたが、答えが見つからないようです。それか、私はあなたの専門家が何を言って説明したかを本当に理解していません.
誰か親切に教えてもらえますか?
このコードは、写真を含む NSArray を受け取り、ランダムな順序で写真を含む新しい配列を生成します。次に、新しい配列を保存して、テーブルのデータ ソースで使用できます。
NSArray *pictures; //Array containing all of the pictures to display
srandomdev();
NSArray *randomPictures = [pictures sortedArrayUsingComparator:(NSComparisonResult)^(id obj1, id obj2) {
long val = random();
if(val & 1) return NSOrderedAscending;
return NSOrderedSame; //or NSOrderedDescending
}];
常に同じ要素のセットがあり、それらをランダムな順序に配置したい場合は、Fisher-Yates シャッフル アルゴリズム (http://en.wikipedia.org/wiki/Fisher–) を読むことをお勧めします。 Yates_shuffle)。これは、カード ゲームでカードのデッキをランダム化するために使用するプロセスや、並べ替えを行うその他の有限セットをランダム化するプロセスと同じです。