diff --git a/sources/minigames/fish/fish_minigame.gd b/sources/minigames/fish/fish_minigame.gd index 8d7fdcc4..c397bc30 100644 --- a/sources/minigames/fish/fish_minigame.gd +++ b/sources/minigames/fish/fish_minigame.gd @@ -50,68 +50,12 @@ func _ready() -> void: func _find_stimuli_and_distractions() -> void: - stimuli = [ - "il", - "ma", - "mal", - "lama", - "lasso", - "va", - "ri", - "vol", - "sur", - "allé", - "vélo", - "roulé", - "amour", - "né", - "un", - "une", - "rat", - "lame", - "sale", - "olive", - "ville", - "je", - "le", - "fée", - "sol", - "fort", - "joli", - "niche" - ] - distractions = [ - "ul", - "um", - "lum", - "muma", - "slaso", - "oa", - "ir", - "vul", - "sru", - "léli", - "lévu", - "louré", - "aroum", - "én", - "na", - "enu", - "tra", - "mila", - "esla", - "olvie", - "vlile", - "uj", - "ul", - "ifé", - "slo", - "trof", - "lijo", - "chani" - ] + var data_array: = Database.get_pseudowords_for_lesson(lesson_nb) words_to_present.clear() words_to_present_next.clear() + for data: Dictionary in data_array: + stimuli.append(data.Word) + distractions.append(data.Pseudoword) for word: String in stimuli: words_to_present.append(word) for word: String in distractions: diff --git a/sources/minigames/fish/fish_minigame.tscn b/sources/minigames/fish/fish_minigame.tscn index 500ae86f..a8eb7711 100644 --- a/sources/minigames/fish/fish_minigame.tscn +++ b/sources/minigames/fish/fish_minigame.tscn @@ -484,6 +484,7 @@ script = ExtResource("2_68jip") game_duration = 240 minimum_correct_ratio = 0.8 winning_color = Color(2.988, 2.328, 0.6, 1) +lesson_nb = 50 minigame_number = 1 [node name="WorldEnvironment" type="WorldEnvironment" parent="." index="0"] diff --git a/sources/utils/autoloads/Database.gd b/sources/utils/autoloads/Database.gd index 0eb85fff..ff3c9aa4 100644 --- a/sources/utils/autoloads/Database.gd +++ b/sources/utils/autoloads/Database.gd @@ -192,6 +192,24 @@ func get_sentences_for_lesson(p_lesson_nb: int, only_new: = false) -> Array: return ret +func get_pseudowords_for_lesson(p_lesson_nb: int) -> Array: + var query: = "SELECT * FROM Pseudowords + INNER JOIN Words ON Words.ID = Pseudowords.WordID + INNER JOIN + (SELECT WordID, count() as Count FROM GPsInWords + INNER JOIN GPsInLessons ON GPsInLessons.GPID = GPsInWords.GPID + GROUP BY WordID + ) TotalCount ON TotalCount.WordID = Words.ID + INNER JOIN + (SELECT WordID, count() as Count FROM GPsInWords + INNER JOIN GPsInLessons ON GPsInLessons.GPID = GPsInWords.GPID + INNER JOIN Lessons ON Lessons.ID = GPsInLessons.LessonID AND Lessons.LessonNb <= ? + GROUP BY WordID + ) VerifiedCount ON VerifiedCount.WordID = Words.ID AND VerifiedCount.Count = TotalCount.Count" + db.query_with_bindings(query, [p_lesson_nb]) + return db.query_result + + func get_distractors_for_grapheme(grapheme: String, lesson_nb: int) -> Array: db.query_with_bindings("SELECT DISTINCT distractor.Grapheme, distractor.Phoneme From GPs stimuli INNER JOIN GPs distractor