Documentação
This commit is contained in:
140
lib/quiz/README_QUIZ.md
Normal file
140
lib/quiz/README_QUIZ.md
Normal file
@@ -0,0 +1,140 @@
|
||||
# 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)*
|
||||
Reference in New Issue
Block a user