Arrays 随机数组范围1-4,每个数字只打印两次
我试图学习如何将一系列数字1到4分配给一个数组,每个数字打印两次。我不知道如何使用随机范围打印特定次数的数字 不确定这是否正确。我没有真正使用for循环,但我确实学习了它们。由于如何做到这一点的障碍,甚至没有完成 顺便说一下,这也是我正在制作的一款卡片匹配游戏,所以我只需要打印两次Arrays 随机数组范围1-4,每个数字只打印两次,arrays,random,swift,Arrays,Random,Swift,我试图学习如何将一系列数字1到4分配给一个数组,每个数字打印两次。我不知道如何使用随机范围打印特定次数的数字 不确定这是否正确。我没有真正使用for循环,但我确实学习了它们。由于如何做到这一点的障碍,甚至没有完成 顺便说一下,这也是我正在制作的一款卡片匹配游戏,所以我只需要打印两次 /*for index in imageArray { imageArray[index] = }*/ 要将数字1到4分配给数组,请执行以下操作: let numbers = Array(1
/*for index in imageArray
{
imageArray[index] =
}*/
要将数字1到4分配给数组,请执行以下操作:
let numbers = Array(1...4)
let numbers = Array(1...4) + Array(1...4)
要将数字1到4分配给数组两次,请执行以下操作:
let numbers = Array(1...4)
let numbers = Array(1...4) + Array(1...4)
要重新排列这些数字:
var shuffledNumbers = numbers.shuffled()
在Swift 4.2及更高版本中,您可以使用内置的无序方法。在早期版本中,您必须编写自己的,例如,使用算法:
// see http://stackoverflow.com/a/24029847/1271826
extension MutableCollection {
/// Shuffle the elements of `self` in-place.
mutating func shuffle() {
if count < 2 { return } // empty and single-element collections don't shuffle
for i in 0 ..< count - 1 {
let j = Int(arc4random_uniform(UInt32(count - i)))
if j != 0 {
let current = index(startIndex, offsetBy: i)
let swapped = index(current, offsetBy: j)
swapAt(current, swapped)
}
}
}
/// Return shuffled collection the elements of `self`.
func shuffled() -> Self {
var results = self
results.shuffle()
return results
}
}
您可以粘贴用于打印值的代码吗?这可能有助于修复它