/**
 * @fileoverview Utility module for tourSteps.js
 * 
 * @module games.aspirador.config.tourSteps
 */

import {
  createWelcomeStep,
  createGameAreaStep,
  createToolboxStep,
  createWorkspaceStep,
  createRunButtonStep,
  createResetInfoStep,
  createPhaseSelectorStep,
  createPhaseInfoStep,
  createHelpButtonStep,
  gameIcons,
  defaultGameTourOptions,
} from "../../../../utils/tourHelpers";

export const aspiradorTourSteps = [
  createWelcomeStep({
    gameName: "Jogo Aspirador",
    description:
      "Bem-vindo ao mundo da programação! Aqui você vai aprender os fundamentos de lógica e como controlar um robô aspirador.",
    challenge:
      "Use programação em blocos para controlar o robô aspirador e limpar toda a sujeira!",
    iconSvg: gameIcons.lock,
  }),

  createGameAreaStep({
    title: "Área de Jogo",
    description:
      "Aqui você vê a sala com pisos, sujeira (pontos marrons) e obstáculos (vasos). O robô aspirador (azul) precisa limpar toda a sujeira sem bater nos obstáculos!",
  }),

  createToolboxStep({
    description:
      "Use blocos de Movimento (mover, virar), Sensores (ainda tem sujeira?, caminho bloqueado?), Lógica (se/senão, não) e Repetição (enquanto, repetir). Arraste-os para programar o robô!",
  }),

  createWorkspaceStep({
    description:
      "Monte sua sequência de comandos aqui. Encaixe os blocos na ordem correta para fazer o robô se movimentar e limpar toda a sujeira da sala.",
  }),

  createRunButtonStep({
    description:
      "Execute seu código! Você verá o robô se mover pela sala, limpando a sujeira passo a passo. Ouça o som do motor enquanto ele trabalha!",
  }),

  createResetInfoStep({
    description:
      "Se o robô bater em obstáculos ou não limpar tudo, use o reset para recolocar a sujeira e tentar uma nova estratégia de limpeza.",
  }),

  createPhaseSelectorStep({
    description:
      "O jogo tem 10 fases progressivas: desde linha reta simples até algoritmos complexos de espiral e zigue-zague usando variáveis!",
  }),

  createPhaseInfoStep({
    description:
      "Acompanhe seu progresso, veja o objetivo da fase atual e quantos blocos você pode usar neste desafio.",
  }),

  createHelpButtonStep({
    description:
      "Acesse este tour novamente clicando no botão de ajuda sempre que precisar relembrar os controles.",
  }),
];

export const aspiradorTourOptions = defaultGameTourOptions;
