import type { Ejercicio } from './introduccion';

export interface EjercicioDetallado extends Ejercicio {
  instrucciones: string;
  pistas?: string[];
  solucion?: string;
  dificultad: 'facil' | 'medio' | 'dificil';
  duracionEstimada: number; // en minutos
  objetivosAprendizaje: string[];
}

export interface ModuloEjercicios {
  titulo: string;
  descripcion: string;
  ejercicios: EjercicioDetallado[];
}

export const ejercicios: ModuloEjercicios = {
  titulo: 'Ejercicios Prácticos - Módulo 1',
  descripcion: 'Pon a prueba tus conocimientos con estos ejercicios interactivos sobre fundamentos de economía',
  ejercicios: [
    {
      id: 'simulador-disyuntivas',
      tipo: 'slider',
      titulo: 'Simulador de Disyuntivas Económicas',
      descripcion: 'Explora cómo una economía debe elegir entre producir diferentes bienes con recursos limitados',
      instrucciones: `En este ejercicio, juegas el rol de un planificador económico que debe decidir cómo asignar los recursos de una economía entre dos bienes: Alimentos y Tecnología.

1. Usa los sliders para ajustar la producción de cada bien
2. Observa cómo la frontera de posibilidades de producción (FPP) muestra tus opciones
3. Identifica los costos de oportunidad de cada decisión
4. Experimenta con diferentes combinaciones y encuentra la asignación más eficiente

Recuerda: No puedes estar fuera de la frontera sin más recursos, y estar dentro significa ineficiencia.`,
      dificultad: 'medio',
      duracionEstimada: 15,
      objetivosAprendizaje: [
        'Comprender el concepto de escasez y elección',
        'Visualizar la frontera de posibilidades de producción',
        'Calcular costos de oportunidad',
        'Identificar puntos eficientes, ineficientes e inalcanzables'
      ],
      config: {
        escenario: {
          titulo: 'Economía Agrícola-Tecnológica',
          descripcion: 'Una economía con recursos limitados debe decidir entre producir alimentos (bien de primera necesidad) o bienes tecnológicos (computadoras, smartphones)',
          bienA: {
            nombre: 'Alimentos',
            unidad: 'millones de toneladas',
            maxProduccion: 100,
            color: '#4CAF50'
          },
          bienB: {
            nombre: 'Tecnología',
            unidad: 'millones de unidades',
            maxProduccion: 80,
            color: '#2196F3'
          }
        },
        parametros: {
          mostrarFPP: true,
          mostrarCostoOportunidad: true,
          mostrarPuntoActual: true,
          tipoCurva: 'concava', // refleja costos crecientes
          puntosDesplazamiento: [
            { causa: 'Mejora tecnológica en agricultura', efecto: 'fpp-externo-alimentos' },
            { causa: 'Innovación tecnológica general', efecto: 'fpp-externo-ambos' }
          ]
        },
        preguntasReflexion: [
          '¿Qué representa la pendiente de la FPP?',
          '¿Por qué la curva es cóncava y no una línea recta?',
          '¿Qué pasaría si la economía está en un punto dentro de la FPP?',
          '¿Cómo afectaría un terremoto a la FPP?'
        ]
      },
      pistas: [
        'El costo de oportunidad es lo que sacrificas de un bien para obtener más del otro',
        'La FPP es cóncava porque los recursos no son perfectamente sustituibles entre sectores',
        'Un punto sobre la FPP es eficiente; dentro es ineficiente; fuera es inalcanzable'
      ],
      solucion: `La FPP muestra que:
1. Existe un trade-off: más alimentos significan menos tecnología y viceversa
2. Los costos de oportunidad crecen conforme nos especializamos en un bien
3. La eficiencia requiere estar sobre la frontera
4. El crecimiento económico desplaza la FPP hacia afuera`
    },
    {
      id: 'quiz-clasificacion-bienes',
      tipo: 'quiz',
      titulo: 'Quiz: Clasificación de Bienes y Servicios',
      descripcion: 'Aprende a clasificar bienes según el comportamiento de la demanda ante cambios en el ingreso',
      instrucciones: `Clasifica cada bien en la categoría correcta según cómo responde su demanda ante cambios en el ingreso de los consumidores:

- **Bien Normal**: La demanda aumenta cuando aumenta el ingreso (ej: ropa de calidad, restaurantes)
- **Bien Inferior**: La demanda disminuye cuando aumenta el ingreso (ej: fideos instantáneos, transporte público)
- **Bien de Lujo**: La demanda aumenta más que proporcionalmente al ingreso (ej: joyas, autos deportivos)

Lee cuidadosamente cada escenario y selecciona la respuesta correcta.`,
      dificultad: 'facil',
      duracionEstimada: 10,
      objetivosAprendizaje: [
        'Distinguir entre bienes normales, inferiores y de lujo',
        'Comprender la elasticidad ingreso de la demanda',
        'Analizar patrones de consumo según nivel de ingresos'
      ],
      config: {
        modo: 'clasificacion-multiple',
        preguntas: [
          {
            id: 'p1',
            bien: 'Carne de primera calidad',
            descripcion: 'Carne de res premium vendida en supermercados de alta gama',
            opciones: ['Bien normal', 'Bien inferior', 'Bien de lujo'],
            respuestaCorrecta: 'Bien de lujo',
            explicacionDetallada: 'La carne premium es considerada un bien de lujo porque cuando el ingreso aumenta significativamente, las familias aumentan su consumo de este tipo de carne sustituyendo carnes de menor calidad.',
            categoriaElasticidad: 'Elasticidad ingreso > 1'
          },
          {
            id: 'p2',
            bien: 'Pan',
            descripcion: 'Pan básico de consumo diario',
            opciones: ['Bien normal', 'Bien inferior', 'Bien de lujo'],
            respuestaCorrecta: 'Bien normal',
            explicacionDetallada: 'El pan es un bien normal porque su consumo aumenta moderadamente con el ingreso, aunque llega un punto donde se estabiliza (saturación).',
            categoriaElasticidad: '0 < Elasticidad ingreso < 1'
          },
          {
            id: 'p3',
            bien: 'Transporte público (autobús)',
            descripcion: 'Servicio de autobuses urbanos',
            opciones: ['Bien normal', 'Bien inferior', 'Bien de lujo'],
            respuestaCorrecta: 'Bien inferior',
            explicacionDetallada: 'El transporte público es un bien inferior porque cuando los ingresos aumentan, las personas tienden a comprar automóviles o usar taxis/Uber, reduciendo el uso del autobús.',
            categoriaElasticidad: 'Elasticidad ingreso < 0'
          },
          {
            id: 'p4',
            bien: 'Fideos instantáneos',
            descripcion: 'Comida rápida económica',
            opciones: ['Bien normal', 'Bien inferior', 'Bien de lujo'],
            respuestaCorrecta: 'Bien inferior',
            explicacionDetallada: 'Los fideos instantáneos son claramente un bien inferior. A medida que aumentan los ingresos, las personas prefieren alimentos más nutritivos y de mejor calidad.',
            categoriaElasticidad: 'Elasticidad ingreso < 0'
          },
          {
            id: 'p5',
            bien: 'Vacaciones en el extranjero',
            descripcion: 'Viajes turísticos internacionales',
            opciones: ['Bien normal', 'Bien inferior', 'Bien de lujo'],
            respuestaCorrecta: 'Bien de lujo',
            explicacionDetallada: 'Las vacaciones internacionales son un bien de lujo porque su consumo aumenta significativamente cuando el ingreso crece, incluso más que proporcionalmente.',
            categoriaElasticidad: 'Elasticidad ingreso > 1'
          },
          {
            id: 'p6',
            bien: 'Ropa de marca',
            descripcion: 'Vestimenta de diseñador',
            opciones: ['Bien normal', 'Bien inferior', 'Bien de lujo'],
            respuestaCorrecta: 'Bien de lujo',
            explicacionDetallada: 'La ropa de marca es un bien de lujo porque su demanda crece más rápido que el ingreso, especialmente en rangos de ingreso altos.',
            categoriaElasticidad: 'Elasticidad ingreso > 1'
          },
          {
            id: 'p7',
            bien: 'Cine',
            descripcion: 'Entradas a salas de cine',
            opciones: ['Bien normal', 'Bien inferior', 'Bien de lujo'],
            respuestaCorrecta: 'Bien normal',
            explicacionDetallada: 'El cine es un bien normal. Aunque con el auge del streaming podría debatirse, generalmente el consumo de entretenimiento aumenta con el ingreso de forma moderada.',
            categoriaElasticidad: '0 < Elasticidad ingreso < 1'
          },
          {
            id: 'p8',
            bien: 'Productos de marca blanca',
            descripcion: 'Productos genéricos de supermercado',
            opciones: ['Bien normal', 'Bien inferior', 'Bien de lujo'],
            respuestaCorrecta: 'Bien inferior',
            explicacionDetallada: 'Los productos de marca blanca son bienes inferiores porque son sustituidos por marcas reconocidas cuando el consumidor tiene mayores ingresos.',
            categoriaElasticidad: 'Elasticidad ingreso < 0'
          }
        ],
        configuracionVisual: {
          mostrarBarraProgreso: true,
          mostrarPuntaje: true,
          retroalimentacionInmediata: true,
          tiempoLimite: 600, // segundos
          permitirReintentar: true
        },
        nivelesDificultad: {
          facil: ['p2', 'p4', 'p7'],
          medio: ['p3', 'p5', 'p8'],
          dificil: ['p1', 'p6']
        }
      },
      pistas: [
        'Pregúntate: ¿Qué compraría una persona si ganara el doble de dinero?',
        'Los bienes de lujo son aquellos que dejarías de comprar primero si perdieras tu empleo',
        'Un bien inferior no significa que sea de mala calidad, sino que tiene sustitutos mejores cuando aumenta el ingreso'
      ],
      solucion: `Clasificación según elasticidad-ingreso:
- Bien Inferior: Elasticidad < 0 (ej: transporte público, fideos)
- Bien Normal: 0 < Elasticidad < 1 (ej: pan, cine)
- Bien de Lujo: Elasticidad > 1 (ej: carne premium, vacaciones)`
    },
    {
      id: 'juego-flujo-circular',
      tipo: 'juego',
      titulo: 'Juego: El Flujo Circular de la Renta',
      descripcion: 'Coloca cada elemento en su lugar correcto dentro del modelo del flujo circular',
      instrucciones: `Completa el diagrama del flujo circular de la renta arrastrando cada elemento a su posición correcta.

El flujo circular muestra cómo interactúan los agentes económicos:

**Agentes principales:**
1. **Familias/Hogares**: Ofrecen factores productivos (trabajo, capital) y consumen bienes
2. **Empresas**: Producen bienes/servicios y demandan factores productivos
3. **Estado**: Recauda impuestos y realiza gastos públicos
4. **Sector Externo**: Intercambia bienes y servicios con el exterior

**Tipos de flujos:**
- **Flujos reales** (flechas azules): Bienes, servicios, factores productivos
- **Flujos monetarios** (flechas verdes): Dinero, pagos, transferencias

Instrucciones:
1. Observa los elementos en la parte inferior
2. Arrastra cada uno al círculo correspondiente o a las flechas correctas
3. Asegúrate de distinguir entre flujos reales y monetarios
4. Completa todos los elementos para ganar`,
      dificultad: 'dificil',
      duracionEstimada: 20,
      objetivosAprendizaje: [
        'Comprender la interdependencia entre agentes económicos',
        'Diferenciar entre flujos reales y monetarios',
        'Identificar los pagos correspondientes a cada factor productivo',
        'Entender el papel del Estado y el sector externo'
      ],
      config: {
        tipoJuego: 'drag-and-drop',
        diagrama: {
          agentes: [
            {
              id: 'familias',
              nombre: 'FAMILIAS',
              posicion: 'izquierda',
              icono: '👨‍👩‍👧‍👦',
              color: '#4CAF50'
            },
            {
              id: 'empresas',
              nombre: 'EMPRESAS',
              posicion: 'derecha',
              icono: '🏭',
              color: '#2196F3'
            },
            {
              id: 'estado',
              nombre: 'ESTADO',
              posicion: 'arriba',
              icono: '🏛️',
              color: '#FF9800'
            },
            {
              id: 'sector-externo',
              nombre: 'SECTOR EXTERNO',
              posicion: 'abajo',
              icono: '🌍',
              color: '#9C27B0'
            }
          ],
          flujos: [
            // Flujo real superior (Familias → Empresas)
            {
              id: 'flujo1',
              origen: 'familias',
              destino: 'empresas',
              tipo: 'real',
              elementosCorrectos: ['trabajo', 'tierra', 'capital']
            },
            // Flujo monetario superior (Empresas → Familias)
            {
              id: 'flujo2',
              origen: 'empresas',
              destino: 'familias',
              tipo: 'monetario',
              elementosCorrectos: ['salarios', 'renta', 'intereses']
            },
            // Flujo real inferior (Empresas → Familias)
            {
              id: 'flujo3',
              origen: 'empresas',
              destino: 'familias',
              tipo: 'real',
              elementosCorrectos: ['bienes', 'servicios']
            },
            // Flujo monetario inferior (Familias → Empresas)
            {
              id: 'flujo4',
              origen: 'familias',
              destino: 'empresas',
              tipo: 'monetario',
              elementosCorrectos: ['gasto', 'consumo']
            },
            // Flujos del Estado
            {
              id: 'flujo5',
              origen: 'familias',
              destino: 'estado',
              tipo: 'monetario',
              elementosCorrectos: ['impuestos', 'impuestos-directos']
            },
            {
              id: 'flujo6',
              origen: 'estado',
              destino: 'familias',
              tipo: 'monetario',
              elementosCorrectos: ['transferencias', 'subsidios']
            },
            {
              id: 'flujo7',
              origen: 'estado',
              destino: 'empresas',
              tipo: 'monetario',
              elementosCorrectos: ['gasto-publico', 'compras-estado']
            }
          ],
          elementosArrastrables: [
            { id: 'trabajo', texto: '💪 Trabajo', tipo: 'real', categoria: 'factor' },
            { id: 'tierra', texto: '🌾 Tierra', tipo: 'real', categoria: 'factor' },
            { id: 'capital', texto: '💰 Capital', tipo: 'real', categoria: 'factor' },
            { id: 'salarios', texto: '💵 Salarios', tipo: 'monetario', categoria: 'pago' },
            { id: 'renta', texto: '🏠 Renta', tipo: 'monetario', categoria: 'pago' },
            { id: 'intereses', texto: '📈 Intereses', tipo: 'monetario', categoria: 'pago' },
            { id: 'bienes', texto: '📦 Bienes', tipo: 'real', categoria: 'producto' },
            { id: 'servicios', texto: '🔧 Servicios', tipo: 'real', categoria: 'producto' },
            { id: 'gasto', texto: '💳 Gasto', tipo: 'monetario', categoria: 'pago' },
            { id: 'consumo', texto: '🛒 Consumo', tipo: 'monetario', categoria: 'pago' },
            { id: 'impuestos', texto: '📝 Impuestos', tipo: 'monetario', categoria: 'pago-estado' },
            { id: 'impuestos-directos', texto: '📋 Imp. Directos', tipo: 'monetario', categoria: 'pago-estado' },
            { id: 'transferencias', texto: '🎁 Transferencias', tipo: 'monetario', categoria: 'transferencia' },
            { id: 'subsidios', texto: '💸 Subsidios', tipo: 'monetario', categoria: 'transferencia' },
            { id: 'gasto-publico', texto: '🏗️ Gasto Público', tipo: 'monetario', categoria: 'gobierno' },
            { id: 'compras-estado', texto: '🛍️ Compras Estado', tipo: 'monetario', categoria: 'gobierno' }
          ]
        },
        niveles: [
          {
            nombre: 'Básico',
            descripcion: 'Solo Familias y Empresas',
            agentesActivos: ['familias', 'empresas'],
            elementosDisponibles: ['trabajo', 'salarios', 'bienes', 'gasto', 'servicios', 'consumo'],
            ayudaMaxima: true
          },
          {
            nombre: 'Intermedio',
            descripcion: 'Incluye al Estado',
            agentesActivos: ['familias', 'empresas', 'estado'],
            elementosDisponibles: ['trabajo', 'tierra', 'capital', 'salarios', 'renta', 'intereses', 'bienes', 'servicios', 'gasto', 'consumo', 'impuestos', 'transferencias', 'gasto-publico'],
            ayudaMaxima: false
          },
          {
            nombre: 'Avanzado',
            descripcion: 'Todos los agentes incluyendo Sector Externo',
            agentesActivos: ['familias', 'empresas', 'estado', 'sector-externo'],
            elementosDisponibles: 'todos',
            incluirExportacionesImportaciones: true,
            ayudaMaxima: false
          }
        ],
        sistemaPuntuacion: {
          acierto: 10,
          error: -2,
          bonusCompletitud: 50,
          tiempoBonus: true
        }
      },
      pistas: [
        'Las familias venden sus factores productivos (trabajo, tierra, capital) a las empresas',
        'Las empresas pagan salarios por trabajo, renta por tierra e intereses por capital',
        'Las familias gastan dinero para comprar bienes y servicios de las empresas',
        'El Estado recauda impuestos y redistribuye mediante transferencias y gasto público',
        'Distingue flujos reales (cosas físicas) de flujos monetarios (dinero)'
      ],
      solucion: `El flujo circular completo:

**Flujos reales:**
- Familias → Empresas: Trabajo, tierra, capital (factores productivos)
- Empresas → Familias: Bienes y servicios

**Flujos monetarios:**
- Empresas → Familias: Salarios, renta, intereses (pagos por factores)
- Familias → Empresas: Gasto de consumo
- Familias → Estado: Impuestos
- Estado → Familias/Empresas: Transferencias y gasto público`
    }
  ]
};

// Exportar también los ejercicios individuales para facilitar importaciones selectivas
export const ejercicioDisyuntivas = ejercicios.ejercicios[0];
export const ejercicioClasificacion = ejercicios.ejercicios[1];
export const ejercicioFlujoCircular = ejercicios.ejercicios[2];

export default ejercicios;
