修复拼写算法,按比例空缺并保证至少展示一个字母
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user