import type { Stage } from '../types' const palabras2silabas = [ { palabra: 'MAPA', silabas: ['MA', 'PA'], emoji: '🗺️' }, { palabra: 'PASA', silabas: ['PA', 'SA'], emoji: '🔄' }, { palabra: 'SALA', silabas: ['SA', 'LA'], emoji: '🏠' }, { palabra: 'TAPA', silabas: ['TA', 'PA'], emoji: '📦' }, { palabra: 'LATA', silabas: ['LA', 'TA'], emoji: '🥫' }, { palabra: 'NIDO', silabas: ['NI', 'DO'], emoji: '🪺' }, { palabra: 'DEDO', silabas: ['DE', 'DO'], emoji: '👉' }, { palabra: 'RATO', silabas: ['RA', 'TO'], emoji: '⏰' }, { palabra: 'MESA', silabas: ['ME', 'SA'], emoji: '🪑' }, { palabra: 'PATO', silabas: ['PA', 'TO'], emoji: '🦆' }, { palabra: 'LIMA', silabas: ['LI', 'MA'], emoji: '🍋' }, { palabra: 'SOPA', silabas: ['SO', 'PA'], emoji: '🥣' }, { palabra: 'TINA', silabas: ['TI', 'NA'], emoji: '🛁' }, { palabra: 'MONO', silabas: ['MO', 'NO'], emoji: '🐵' }, { palabra: 'PINO', silabas: ['PI', 'NO'], emoji: '🌲' }, { palabra: 'LUNES', silabas: ['LU', 'NES'], emoji: '📅' }, { palabra: 'SAPO', silabas: ['SA', 'PO'], emoji: '🐸' }, { palabra: 'TELO', silabas: ['TE', 'LO'], emoji: '🧶' }, { palabra: 'DAMA', silabas: ['DA', 'MA'], emoji: '👩' }, { palabra: 'RAMA', silabas: ['RA', 'MA'], emoji: '🌿' }, ] const exercises: any[] = [] for (const { palabra, silabas, emoji } of palabras2silabas) { const lowerPalabra = palabra.toLowerCase().replace(/[^a-z]/g, '') const id = `lec6-palabra-${lowerPalabra}` const letras = palabra.split('') const conLetras = letras[0]?.toLowerCase() const consonantDep = conLetras && ['m', 'p', 'l', 's', 't', 'n', 'd', 'r'].includes(conLetras) ? `lec4-${conLetras}-completa` : 'lec3-u-completa' // Leer la palabra (ver las sílabas separadas) exercises.push({ id: `${id}-leer`, stage: 6, skillCode: `silabas-${lowerPalabra}`, type: 'eleccion', prerequisites: [consonantDep], content: { instruction: `Leé esta palabra: ${silabas.join('-')}`, text: `${silabas.join(' ')}`, audioText: `${palabra}: ${silabas.join(', ')}`, emoji, options: [ { label: palabra, correct: true, id: lowerPalabra }, ...palabras2silabas .filter(p => p.palabra !== palabra) .slice(0, 2) .map(p => ({ label: p.palabra, correct: false, id: p.palabra.toLowerCase() })), ], }, functionalContext: `Leer la palabra ${palabra} combinando sílabas.. Método Borel-Maisonny.`, errorType: 'silaba-dificil', }) // Emparejar con imagen exercises.push({ id: `${id}-imagen`, stage: 6, skillCode: `silabas-${lowerPalabra}`, type: 'palabra', prerequisites: [`${id}-leer`], content: { instruction: `¿Cuál palabra es esta?`, imageEmoji: emoji, audioText: `¿Qué palabra es?`, options: [ ...palabras2silabas .filter(p => p.palabra !== palabra) .slice(0, 2) .map(p => ({ label: p.palabra, correct: false, id: p.palabra.toLowerCase() })), { label: palabra, correct: true, id: lowerPalabra }, { label: 'Escuchar 👂', correct: false, id: 'escuchar' }, ], }, functionalContext: `Asociar la palabra ${palabra} con su imagen.. Método Borel-Maisonny.`, errorType: 'confusion-letra', }) } // Silaba order exercises const secuencias = [ { palabra: 'MAPA', silabas: ['PA', 'MA'], emoji: '🗺️' }, { palabra: 'PATO', silabas: ['TO', 'PA'], emoji: '🦆' }, { palabra: 'SAPO', silabas: ['PO', 'SA'], emoji: '🐸' }, ] for (const { palabra, silabas, emoji } of secuencias) { const lower = palabra.toLowerCase() exercises.push({ id: `lec6-ordenar-${lower}`, stage: 6, skillCode: `silabas-orden-${lower}`, type: 'secuencia', prerequisites: [`lec6-palabra-${lower}-leer`], content: { instruction: `Ordená las sílabas para formar ${palabra}`, audioText: `Ordená para formar ${palabra}`, sequence: silabas, emoji, }, functionalContext: `Ordenar sílabas para formar ${palabra}.. Método Borel-Maisonny.`, errorType: 'inversion-letra', }) } const stage: Stage = { id: 6, name: 'Sílabas y palabras de 2 sílabas', description: 'Combinar consonantes + vocales para formar y leer palabras de 2 sílabas.', exercises, } export default stage