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")
         }