0

我正在尝试创建一个记忆游戏,但我不知道如何用数组中的图片随机填充我的单元格。我刚刚开始主要针对 iOS 进行 Xcode 编程,并且在 Stack Overflow 上搜索了几天,但似乎找不到答案。要么,要么我真的不明白你们专业人士所说和解释的内容。

有人可以请赐教吗?

4

2 回答 2

0

此代码将获取一个包含图片的 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
}];
于 2011-01-05T05:56:41.577 回答
0

如果您总是有相同的元素集,并且只想将它们按随机顺序排列,那么我建议您阅读 Fisher-Yates 洗牌算法(http://en.wikipedia.org/wiki/Fisher– Yates_shuffle)。这与您在纸牌游戏中随机化一副​​纸牌或您想要置换的任何其他有限集的过程相同。

于 2011-01-05T06:43:49.577 回答