Files
CheckTheethKids/lib/quiz/README_QUIZ.md
Carlos Correia d24cb3242a Documentação
2026-05-03 23:31:31 +01:00

141 lines
3.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Sistema de Quiz Extendido - Check-Teeth Kids
## Novos Arquivos Criados
### 1. `quiz_extended.dart`
Contém 15 novas telas de quiz sequenciais (Quiz 6-20) com temas educativos sobre saúde bucal:
- **Quiz 6**: Tipos de escova para crianças
- **Quiz 7**: Alimentos que causam cáries
- **Quiz 8**: Primeira visita ao dentista
- **Quiz 9**: Uso de chupeta
- **Quiz 10**: Flúor na água
- **Quiz 11**: Escovação noturna
- **Quiz 12**: Bebidas ácidas
- **Quiz 13**: Importância dos dentes de leite
- **Quiz 14**: Técnica de escovação
- **Quiz 15**: Enxaguante bucal infantil
- **Quiz 16**: Lanches escolares saudáveis
- **Quiz 17**: Traumas dentários
- **Quiz 18**: Problemas na mordida
- **Quiz 19**: Gengivas sangrando
- **Quiz 20**: Selantes dentários
### 2. `quiz_random.dart`
Sistema de quiz aleatório com 15 perguntas selecionadas aleatoriamente a cada sessão.
## Como Usar
### Para Quiz Sequencial Extendido (20 perguntas):
```dart
import 'quiz_extended.dart';
// Para iniciar do Quiz 6:
Navigator.push(
context,
MaterialPageRoute(builder: (_) => const Quiz6Screen()),
);
// Para conectar ao final do Quiz 5, modifique quiz5.dart:
nextRoute: (context, nextScore) => MaterialPageRoute<void>(
builder: (_) => Quiz6Screen(currentScore: nextScore, scopeId: scopeId),
),
```
### Para Quiz Aleatório (15 perguntas):
```dart
import 'quiz_random.dart';
Navigator.push(
context,
MaterialPageRoute(builder: (_) => const QuizRandomScreen()),
);
```
## Sistema de Pontuação
- **Quiz Sequencial**: 20 perguntas × 5 pontos = máximo 100 pontos
- **Quiz Aleatório**: 15 perguntas × 5 pontos = máximo 75 pontos
- **Sistema de pesos**: 2 (melhor) a 5 (pior) pontos
## Estrutura das Perguntas
Cada quiz segue o padrão:
```dart
QuizQuestionScreen(
title: 'Quiz X/20',
question: 'Pergunta educativa...',
answers: [
QuizAnswer(title: 'Resposta A', description: 'Explicação...', weight: 2),
QuizAnswer(title: 'Resposta B', description: 'Explicação...', weight: 5),
QuizAnswer(title: 'Resposta C', description: 'Explicação...', weight: 3),
],
currentScore: currentScore,
nextRoute: (context, nextScore) => MaterialPageRoute(...),
showBackButton: true,
);
```
## Temas Abordados
### 🦷 Higiene Oral
- Tempo e técnica de escovação
- Tipos de escova e pasta de dente
- Uso de fio dental e enxaguante
### 🍎 Nutrição e Saúde
- Alimentos prejudiciais e benéficos
- Bebidas ácidas vs neutras
- Lanches escolares saudáveis
### 👶 Desenvolvimento Infantil
- Dentes de leite e permanentes
- Hábitos como chupeta e sucção
- Primeira visita ao dentista
### 🔬 Prevenção e Tratamento
- Flúor e selantes
- Traumas dentários
- Problemas gengivais
## Integração com Sistema Existente
Os novos quizzes são totalmente compatíveis com:
- ✅ Sistema de pontuação existente
- ✅ Tela de resultados (`QuizResultScreen`)
- ✅ Navegação e animações
- ✅ Design e cores do app
- ✅ Firebase (scopeId)
## Personalização
Para modificar o quiz aleatório:
```dart
// Em quiz_random.dart, altere o número de perguntas:
final List<QuizQuestion> _selectedQuestions = _allQuestions.take(10).toList(); // 10 perguntas
```
Para adicionar novas perguntas:
```dart
// Adicione ao final da lista _allQuestions em quiz_random.dart
QuizQuestion(
id: 16,
title: 'Quiz 16/15',
question: 'Nova pergunta...',
answers: [...],
),
```
## Teste e Validação
Os arquivos foram testados com:
-`flutter analyze` - sem erros
- ✅ Estrutura compatível com código existente
- ✅ Importações corretas
- ✅ Navegação funcional
---
*Criado em 01/05/2026*
*Total de perguntas: 35 (5 originais + 15 sequenciais + 15 aleatórias)*