Вы знаете, как случайным образом заполнить таблицу массивом картинок? - PullRequest
0 голосов
/ 05 января 2011

Я пытаюсь создать игру на память, и я не знаю, как случайным образом заполнить мои ячейки изображениями из массива. Я только начал программирование XCode в основном для iOS, и я искал несколько дней в переполнении стека, но не могу найти ответ. Либо это, либо я не совсем понимаю, что вы, профессионалы, сказали и объяснили.

Может кто-нибудь, пожалуйста, просветите меня?

Ответы [ 2 ]

0 голосов
/ 05 января 2011

Если у вас всегда один и тот же набор элементов, и вы просто хотите расположить их в случайном порядке, то я рекомендую вам прочитать алгоритм перетасовки Фишера-Йейтса (http://en.wikipedia.org/wiki/Fisher–Yates_shuffle). Это тот же процесс, который вы использовалирандомизировать колоду карт в карточной игре или любом другом конечном наборе, который вы хотите переставить.

0 голосов
/ 05 января 2011

Этот код возьмет 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
}];
...