import 'package:flutter/material.dart'; import '../models/cognitive_type.dart'; class AssessmentService { // 간단한 점수 산출 (Yes = 1점, 부족함 표시) Map calculateWeaknesses(Map answers) { Map scoreMap = { CognitiveArea.memory: 0, CognitiveArea.calculation: 0, CognitiveArea.attention: 0, CognitiveArea.perception: 0, }; // 실제로는 질문 ID와 영역을 매핑해서 처리 // 예시 로직: if (answers['q_memory_1'] == true) scoreMap[CognitiveArea.memory] = (scoreMap[CognitiveArea.memory] ?? 0) + 1; // ... return scoreMap; } // 점수에 기반하여 오늘의 추천 게임 리스트 생성 List generateDailyCourse(Map weaknesses) { List course = []; // 1. 가장 취약한 영역의 게임 1개 (난이도 하) CognitiveArea weakest = weaknesses.entries.reduce((a, b) => a.value > b.value ? a : b).key; course.add(BrainGameType.values.firstWhere((g) => g.area == weakest)); // 2. 랜덤하게 다른 영역 게임 2개 섞기 (균형 잡힌 훈련) List others = BrainGameType.values.where((g) => g.area != weakest).toList()..shuffle(); course.addAll(others.take(2)); return course; } }