This commit is contained in:
2025-12-15 18:18:17 +09:00
parent 03a7ed2ef2
commit 4c2c98de8a
216 changed files with 9831 additions and 725 deletions
@@ -0,0 +1,32 @@
import 'dart:math';
class ReadAloudDifficultyRepository {
static final Random _random = Random();
static final Map<int, List<String>> _levels = {
// Lv 1: 2~3글자 단어 (기초)
1: ['사과', '포도', '모자', '구두', '바지', '치마', '우산', '가방', '시계', '안경'],
// Lv 2: 4글자 이상 단어 (일상)
2: ['텔레비전', '냉장고', '세탁기', '청소기', '선풍기', '자동차', '비행기', '자전거', '지하철'],
// Lv 3: 간단한 문장 (인사/안부)
3: ['안녕하세요', '반갑습니다', '감사합니다', '잘 지내세요', '식사 하셨어요', '날씨가 좋네요'],
// Lv 4: 띄어쓰기가 있는 문장
4: ['오늘 점심은 무엇인가요', '산책하기 좋은 날씨입니다', '건강이 최고입니다', '매일 운동을 합니다'],
// Lv 5: 속담 / 격언 (인지 훈련)
5: ['가는 말이 고와야 오는 말이 곱다', '낮말은 새가 듣고 밤말은 쥐가 듣는다', '돌다리도 두들겨 보고 건너라', '발 없는 말이 천 리 간다'],
// Lv 6: 긴 문장 (뉴스/정보)
6: ['규칙적인 식사와 운동은 건강에 좋습니다', '충분한 수분 섭취는 기억력에 도움이 됩니다', '잠을 푹 자는 것이 보약입니다'],
};
static String getSentence(int level) {
// 범위 보정 (1~6)
int targetLevel = level.clamp(1, 6);
final list = _levels[targetLevel]!;
return list[_random.nextInt(list.length)];
}
}