【发布时间】:2017-03-09 16:05:12
【问题描述】:
我正在开发 iOS 上的 Hangman 单视图应用程序游戏,但一直卡在“letterButton”代码上。我打算做的是将viewDidLoad函数中生成的破折号替换为用户将通过字母按钮输入的内容(所有字母按钮都分组在letterButton下)。
我尝试用字母数组替换破折号数组,但它只是告诉我字母数组太大了。我尝试将字母数组转换为字符串,然后用它替换破折号数组,但这也不起作用。所以现在我被卡住了,我不知道该怎么做才能用字母输入替换破折号数组。
请帮忙(这是我的代码;请忽略我拼命尝试的dashArray [n]部分):
class ViewController: UIViewController {
@IBOutlet var letters: [UIButton]!
var wordArray: [String] = ["cat", "dog", "hamster", "lizard"]
var letterArray: [String] = ["Q","W","E","R","T","Y","U","I","O","P","A","S","D","F","G","H","J","K","L","Z","X","C","V","B","N","M"]
var randomValue: Int = 0
var word: String = ""
@IBOutlet weak var wordLabel: UILabel!
override func viewDidLoad()
{
randomValue = Int(arc4random_uniform(UInt32(wordArray.count)))
word = wordArray[randomValue]
letterArray = Array(arrayLiteral: word)
let amount = word.characters.count
let dashArray = Array(count: amount, repeatedValue: "_")
let dashString = dashArray.joinWithSeparator(" ")
wordLabel.text = dashString
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func letterButton(sender: UIButton)
{
let amount = word.characters.count
var dashArray = Array(count: amount, repeatedValue: "_")
dashArray [0] =
dashArray [1] =
dashArray [2] =
dashArray [3] =
dashArray [4] =
dashArray [5] =
dashArray [6] =
let dashString = dashArray.joinWithSeparator(" ")
wordLabel.text = dashString
}
@IBAction func resetButton(sender: UIButton)
{
let amount = word.characters.count
let dashArray = Array(count: amount, repeatedValue: "_")
let dashString = dashArray.joinWithSeparator(" ")
wordLabel.text = dashString
}
}
【问题讨论】: