我試圖製作一個記憶遊戲,將圖像應用到12個不同的按鈕,並檢查2個按鈕顯示時圖像是否相同。檢查相同的值swift
------------------- FINISHED FORM?----------------------- -
這是Duncan C的建議,
func setImages() {
var values = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6]
values.shuffleInPlace()
button1.tag = values[0]
button2.tag = values[1]
button3.tag = values[2]
button4.tag = values[3]
button5.tag = values[4]
button6.tag = values[5]
button7.tag = values[6]
button8.tag = values[7]
button9.tag = values[8]
button10.tag = values[9]
button11.tag = values[10]
button12.tag = values[11]
}
@IBAction func buttonPressed(sender: UIButton) {
var images : [UIImage] = [
UIImage(named:"ye1")!,
UIImage(named:"ye2")!,
UIImage(named:"ye3")!,
UIImage(named:"ye4")!,
UIImage(named:"ye5")!,
UIImage(named:"ye6")!,
UIImage(named:"ye7")!,
UIImage(named:"ye8")!,
UIImage(named:"ye9")!,
UIImage(named:"ye10")!,
UIImage(named:"ye11")!,
UIImage(named:"ye12")!
]
images.shuffleInPlace()
let integrera = (sender.tag - 1)
let imageString:String = String(format: "ye%i", integrera)
if !firstButtonAlreadyPresssed {
firstButtonValue = sender.tag //remember the button for later
firstButtonAlreadyPresssed = true
sender.setImage(UIImage(named: imageString), forState: .Normal)
}
else
//We already have a first button pressed.
if sender.tag == firstButtonValue {
sender.setImage(UIImage(named: imageString), forState: .Normal)
}
else {
let secondimage = (sender.tag)
let secondString : String = String(format: "ye%i", secondimage)
sender.setImage(UIImage(named: secondString), forState: .Normal)
}
firstButtonAlreadyPresssed = false //reset the "isFirstButton" flag for the next time.
}
}
創建圖像的陣列。我們稱之爲'圖像'。在你的buttonPressed方法中,將sender的圖像設置爲'images [sender.tag -1]'。對於第一個按鈕,您可能想要保留圖像。按第二個按鈕,您想要顯示第二個圖像,例如說「您贏了」或「您輸了」,暫停幾秒鐘,然後將第一個按鈕和第二個按鈕恢復爲其通用圖像。 –
@DuncanC對於所有12個按鈕,我是否應該隨機排列數組,並且第二個按鈕圖像是否應該是'images [sender.tag -2]'等等?謝謝你的耐心。 –
@DuncanC看看更新後的代碼和評論界的問題,我想我們會解決這個問題! –