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

3.6 KiB
Raw Blame History

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):

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):

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:

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:

// Em quiz_random.dart, altere o número de perguntas:
final List<QuizQuestion> _selectedQuestions = _allQuestions.take(10).toList(); // 10 perguntas

Para adicionar novas perguntas:

// 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)