diff --git a/LearnEnglish/LearnEnglish/Models/Quiz.swift b/LearnEnglish/LearnEnglish/Models/Quiz.swift index 0f9a530..bd8cf6a 100644 --- a/LearnEnglish/LearnEnglish/Models/Quiz.swift +++ b/LearnEnglish/LearnEnglish/Models/Quiz.swift @@ -70,9 +70,9 @@ enum QuizGenerator { private static func blankWord(_ word: String) -> String { let chars = Array(word) let letterPositions = chars.indices.filter { chars[$0].isLetter } - guard letterPositions.count > 2 else { return String(repeating: "_", count: chars.count) } - let blanks = max(1, Int(Double(letterPositions.count) * 0.4)) - let indices = Set(letterPositions.shuffled().prefix(blanks)) + guard !letterPositions.isEmpty else { return word } + let blankCount = min(letterPositions.count - 1, Int(ceil(Double(letterPositions.count) * 0.4))) + let indices = Set(letterPositions.shuffled().prefix(blankCount)) return chars.enumerated().map { indices.contains($0.offset) ? "_" : String($0.element) }.joined() } }