我正在尝试创建一个记忆游戏,但我不知道如何用数组中的图片随机填充我的单元格。我刚刚开始主要针对 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)。这与您在纸牌游戏中随机化一副纸牌或您想要置换的任何其他有限集的过程相同。