Mercurial > public > geoquiz
diff GeoQuiz/Logic/Game.swift @ 6:1946bbfde4af
reformat data structures
author | Dennis C. M. <dennis@denniscm.com> |
---|---|
date | Thu, 29 Sep 2022 12:00:17 +0200 |
parents | f31a61462e7a |
children | d945e52b0704 |
line wrap: on
line diff
--- a/GeoQuiz/Logic/Game.swift Sat Sep 24 12:02:09 2022 +0100 +++ b/GeoQuiz/Logic/Game.swift Thu Sep 29 12:00:17 2022 +0200 @@ -16,7 +16,7 @@ // Game var data: [String: T] { get set} - var dataAsked: [String] { get set } + var dataAsked: [String: T] { get set } var correctAnswer: (key: String, value: T) { get set } // User @@ -73,13 +73,13 @@ // Get question asked (correct answer) let correctAnswer = data.first(where: { - !userChoices.keys.contains($0.key) && !dataAsked.contains($0.key) + !userChoices.keys.contains($0.key) && !dataAsked.keys.contains($0.key) }) // Unwrap optional if let correctAnswer = correctAnswer { userChoices[correctAnswer.key] = correctAnswer.value - dataAsked.append(correctAnswer.key) + dataAsked[correctAnswer.key] = correctAnswer.value self.correctAnswer = correctAnswer } else { fatalError("Couldn't unwrap optional value") @@ -99,7 +99,7 @@ if correctAnswer == choice { hapticSuccess() - play("correctAnswer") + playSound("correctAnswer") withAnimation(.easeIn(duration: 0.5)) { scoreScaleAmount += 1 @@ -110,7 +110,7 @@ askQuestion() } else { hapticError() - play("wrongAnswer") + playSound("wrongAnswer") withAnimation(.easeIn(duration: 0.5)) { livesScaleAmount += 1 @@ -132,7 +132,7 @@ } } - private func play(_ filename: String) { + private func playSound(_ filename: String) { guard let soundFileURL = Bundle.main.url(forResource: filename, withExtension: "wav") else { fatalError("Sound file \(filename) couldn't be found") }