export const gameConfig = {
  gameId: "emoji_match",
  gameName: "Emoji Match",
  type: "blocks",
  icon: "😎",
  descricao:
    "Utilize blocos de programação para criar um jogo de memória, encontrando pares de emojis iguais.",
  dificuldade: "Intermediário",
  categoria: "Lógica",
  tempoEstimado: "45-60 min",
  conceitos: [
    "Sequência",
    "Eventos",
    "Condicionais",
    "Variáveis",
    "Funções",
    "Loops/Repetição",
    "Matemática",
    "Texto",
  ],
  route: "/games/emojimatch",
  component: "EmojiMatchGame",
  ativo: true,
  destaque: true,
  prdReady: false,
  objectives: [
    "Identificar emojis correspondentes",
    "Usar lógica condicional para verificar pares",
    "Implementar feedback visual para acertos e erros",
  ],
  metadata: {
    lastUpdated: "2025-08-31",
    version: "1.0.0",
  },
  fases: [
    {
      id: 1,
      nome: "Adicionando os Primeiros Emojis",
      descricao:
        "Aprenda sobre coordenadas X e Y adicionando um fundo e um emoji à tela usando blocos básicos.",
      exibeLoadingValidacao: true,
      allowedBlocks: [
        // CENA
        "ao_iniciar_jogo",
        // MULTIMÍDIA
        "selecionar_imagem_fundo",
        // FUNÇÕES
        "criar_fundo",
        "adicionar_emoji",
      ],
      hint: "💡 Nossa tela tem 800 pixels de largura e 600 pixels de altura.\n Qual seria o ponto central? 🤔",
    },
    {
      id: 2,
      nome: "Criando o Grid de Emojis",
      descricao:
        "Preencha a tela com emojis usando laços de repetição e aprenda a trabalhar com variáveis e operações matemáticas.",
      exibeLoadingValidacao: true,
      allowedBlocks: [
        // CENA
        "ao_iniciar_jogo",
        // FUNÇÕES
        "adicionar_fundo",
        "adicionar_emoji_aleatorio",
        // REPETIÇÃO
        "loop_grid",
        "obter_variavel_loop",
        // MATEMÁTICA
        "math_number",
        "math_arithmetic",
        // VARIÁVEIS
        "definir_coordenada",
        "obter_coordenada",
      ],
      hint: "1️⃣ Utilize loops para preencher o grid com emojis. \n 2️⃣ Cada emoji tem aproximadamente 70x70 pixels. \n 3️⃣ Os Emojis ficam melhor centralizados.",
    },
    {
      id: 3,
      nome: "Detectando Cliques",
      descricao:
        "Implemente a interação do jogador detectando cliques nos emojis e destacando o selecionado.",
      allowedBlocks: [
        // CENA
        "ao_iniciar_jogo",
        // FUNÇÕES
        "adicionar_fundo",
        "criar_grid_emojis",
        "configurar_destaque_emoji",
        "definir_cor_destaque",
        "definir_tamanho_destaque",
        // EVENTOS
        "quando_emoji_clicado",
        // VARIÁVEIS
        "definir_primeiro_emoji",
        "obter_emoji_clicado",
        // DESTAQUE
        "destacar_emoji_selecionado",
      ],
      textoInstrucao:
        "Clique em um emoji para validar o funcionamento do evento.",
      hint: "💡 Lembre-se de que você pode usar variáveis \npara armazenar o emoji clicado.",
    },
    {
      id: 4,
      nome: "Lógica do Jogo: Encontrando o Par",
      descricao:
        "Utilize blocos condicionais para comparar emojis e definir o que acontece ao encontrar um par ou não.",
      allowedBlocks: [
        // CENA
        "ao_iniciar_jogo",
        // FUNÇÕES
        "adicionar_fundo",
        "criar_grid_emojis",
        "aplicar_destaque_salvo",
        // EVENTOS
        "quando_emoji_clicado",
        // CONDICIONAIS
        "se_primeiro_emoji_selecionado",
        "controls_if",
        // VARIÁVEIS
        "definir_primeiro_emoji",
        "limpar_primeiro_emoji",
        "obter_emoji_clicado",
        "obter_primeiro_emoji",
        // LÓGICA
        "comparar_emojis",
        // DESTAQUE
        "destacar_emoji_selecionado",
        // FUNÇÕES
        "vencer_o_jogo",
      ],
      textoInstrucao: "Encontre o único par de emojis idênticos!",
      hint: "💡 Utilize blocos condicionais para\ncomparar os emojis selecionados.",
    },
    {
      id: 5,
      nome: "Adicionando Pontuação",
      descricao:
        "Adicione um placar ao jogo,utilizando variáveis, \nblocos de texto e operações matemáticas para atualizar a pontuação.",
      allowedBlocks: [
        // CENA
        "ao_iniciar_jogo",
        // EVENTOS
        "quando_emoji_clicado",
        // FUNÇÕES
        "adicionar_fundo",
        "criar_grid_emojis",
        "aplicar_destaque_salvo",
        "definir_pontuacao_inicial",
        // CONDICIONAIS / LÓGICA
        "se_primeiro_emoji_selecionado",
        "controls_if",
        "comparar_emojis",
        // VARIÁVEIS
        "definir_primeiro_emoji",
        "limpar_primeiro_emoji",
        "obter_emoji_clicado",
        "obter_primeiro_emoji",
        "obter_pontuacao",
        // TEXTO
        "adicionar_texto",
        "atualizar_texto",
        "text",
        "text_join",
        // MATEMÁTICA
        "math_number",
        "math_arithmetic",
        // DESTAQUE
        "destacar_emoji_selecionado",
        // FUNÇÕES
        "vencer_o_jogo",
      ],
      hint: "💡 Replique a solução anterior,\nmas agora você poderá adicionar\npontos a cada par encontrado!",
    },
    {
      id: 6,
      nome: "Adicionando tempo do Jogo",
      descricao:
        "Inclua um cronômetro para limitar o tempo da partida e exiba o tempo restante na tela.",
      allowedBlocks: [
        // CENA
        "ao_iniciar_jogo",
        // FUNÇÕES
        "adicionar_fundo",
        "criar_grid_emojis",
        "aplicar_destaque_salvo",
        // EVENTOS
        "ao_clicar_no_emoji",
        "configura_pontuacao",
        // TEMPO
        "definir_tempo_jogo",
        "a_cada_segundo",
        "tempo_restante",
        // TEXTO
        "adicionar_texto",
        "atualizar_texto",
        "text",
        "text_join",
        // MATEMÁTICA
        "math_number",
      ],
      hint: '💡 Use o bloco "A cada segundo" para atualizar o \ntempo restante, mas sem iniciar a variável,\nnada funciona!',
    },
    {
      id: 7,
      nome: "Jogo Livre",
      descricao:
        "Explore livremente todos os blocos e crie suas próprias regras e desafios com emojis.",
      allowedBlocks: [
        // CENA
        "ao_iniciar_jogo",
        // FUNÇÕES
        "adicionar_fundo",
        "criar_grid_emojis",
        "aplicar_destaque_salvo",
        // EVENTOS
        "ao_clicar_no_emoji",
        "configura_pontuacao",
        // TEMPO
        "definir_tempo_jogo",
        "configurar_tempo",
      ],
      hint: "💡 Sinta-se à vontade para\n experimentar o jogo que você criou completo!",
    },
  ],
};
