拼写空缺改为随机数量,保证至少留一个字母可见
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -71,7 +71,8 @@ enum QuizGenerator {
|
|||||||
let chars = Array(word)
|
let chars = Array(word)
|
||||||
let letterPositions = chars.indices.filter { chars[$0].isLetter }
|
let letterPositions = chars.indices.filter { chars[$0].isLetter }
|
||||||
guard !letterPositions.isEmpty else { return word }
|
guard !letterPositions.isEmpty else { return word }
|
||||||
let blankCount = min(letterPositions.count - 1, Int(ceil(Double(letterPositions.count) * 0.4)))
|
let maxBlanks = letterPositions.count - 1
|
||||||
|
let blankCount = maxBlanks > 0 ? Int.random(in: 1...maxBlanks) : 0
|
||||||
let indices = Set(letterPositions.shuffled().prefix(blankCount))
|
let indices = Set(letterPositions.shuffled().prefix(blankCount))
|
||||||
return chars.enumerated().map { indices.contains($0.offset) ? "_" : String($0.element) }.joined()
|
return chars.enumerated().map { indices.contains($0.offset) ? "_" : String($0.element) }.joined()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user