我正在尝试使用swift创建基于图块的文字游戏,我需要随机化显示在图块上的字母(来自A-Z)。我一直在阅读有关不同方法的内容,但我无法使其适用于特定变量。我目前有一个变量定义:
var availableTiles: [Character]!
由于我一直在处理布局和界面,到目前为止我只手动输入字母,以确保它们正确显示:
func randomizeAvailableLetter() {
availableTiles = ["X", "B", "F", "H", "K", "V"]
}
正如您所看到的,显示在6个图块上的字母只是硬编码,但我需要这些字母是随机的。我会用什么来代替硬编码的部分,以使随机化的字母显示出来?
答案 0 :(得分:3)
你可以使用类似这样的函数:
func randomizeAvailableLetters(tileArraySize: Int) -> Array<String> {
let alphabet: [String] = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
var availableTiles = [String]()
for i in 0..<tileArraySize {
let rand = Int(arc4random_uniform(26))
availableTiles.append(alphabet[rand])
}
return(availableTiles)
}
print(randomizeAvailableLetters(tileArraySize: 6)) //["X", "B", "F", "H", "K", "V"]