import 'dart:math'; class DictationDifficultyRepository { static final Random _random = Random(); static final Map> _levels = { // Lv 1: 2글자 쉬운 단어 1: ['구두', '바지', '모자', '가수', '나비', '포도', '사과', '우유', '지도', '치마'], // Lv 2: 3~4글자 단어 2: ['어머니', '아버지', '강아지', '고양이', '자전거', '자동차', '비행기', '소나무', '운동화'], // Lv 3: 받침이 있는 단어 / 복합어 3: ['학교', '병원', '경찰서', '도서관', '선생님', '냉장고', '세탁기', '박물관', '운동장'], // Lv 4: 짧은 문장 (인사/일상) 4: ['반갑습니다', '안녕하세요', '감사합니다', '밥 먹었어요', '사랑합니다', '건강하세요'], // Lv 5: 띄어쓰기가 있는 문장 5: ['날씨가 좋아요', '비가 옵니다', '꽃이 피었습니다', '문을 닫으세요', '손을 씻으세요'], // Lv 6: 속담 (기억력 훈련) 6: ['가는 말이 고와야 오는 말이 곱다', '티끌 모아 태산', '소 잃고 외양간 고친다', '발 없는 말이 천 리 간다'], }; static String getProblem(int level) { int targetLevel = level.clamp(1, 6); final list = _levels[targetLevel]!; return list[_random.nextInt(list.length)]; } }