Я делаю игру с кубиками.Идея состоит в том, чтобы держать / заблокировать кубик.Я сделал кубики как кнопки, чтобы теперь их можно было нажимать.Пример: я выбрасываю «6» и «1».Я нажимаю «6», так что теперь будет выброшена только «1».
Я немного растерялся с этим, мне нужно сделать булевы для их хранения?Вот мой код.Я на самом деле не знаю с чего начать.
class ViewController: UIViewController {
@IBOutlet weak var dice1: UIButton!
@IBOutlet weak var dice2: UIButton!
var audioPlayer:AVAudioPlayer!
var randomDiceIndex1 : Int = 0
var randomDiceIndex2 : Int = 0
let diceArray = ["dice1", "dice2", "dice3", "dice4", "dice5", "dice6"]
func playSoundWith(fileName: String, fileExtenstion: String) -> Void {
let audioSourceURL: URL!
audioSourceURL = Bundle.main.url(forResource: fileName,
withExtension: fileExtenstion)
if audioSourceURL == nil {
print("Geluid werkt niet")
} else {
do {
audioPlayer = try AVAudioPlayer.init(contentsOf:
audioSourceURL!)
audioPlayer.prepareToPlay()
audioPlayer.play()
} catch {
print(error)
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
updateDiceImages()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func buttonPressed(_ sender: Any) {
updateDiceImages()
playSoundWith(fileName: "dobbelstenen", fileExtenstion: "m4a")
}
func updateDiceImages(){
randomDiceIndex1 = Int(arc4random_uniform(6))
randomDiceIndex2 = Int(arc4random_uniform(6))
dice1.setImage(UIImage(named: diceArray[randomDiceIndex1]), for:
.normal)
dice2.setImage(UIImage(named: diceArray[randomDiceIndex2]), for:
.normal)
}
override func motionEnded(_ motion: UIEventSubtype, with event:
UIEvent?) {
updateDiceImages()
playSoundWith(fileName: "dobbelstenen", fileExtenstion: "m4a")
}
}