import type { Stage } from '../types' const sumas = [ { a: 1, b: 1, r: 2, emoji: '🐶+🐶' }, { a: 2, b: 1, r: 3, emoji: '🐱+🐶' }, { a: 2, b: 2, r: 4, emoji: '🐱+🐱' }, { a: 3, b: 1, r: 5, emoji: '🐰+🐶' }, { a: 3, b: 2, r: 5, emoji: '🐰+🐱' }, { a: 4, b: 1, r: 5, emoji: '🐸+🐶' }, { a: 5, b: 1, r: 6, emoji: '🐵+🐶' }, { a: 3, b: 3, r: 6, emoji: '🐰+🐰' }, { a: 5, b: 2, r: 7, emoji: '🐵+🐱' }, { a: 4, b: 3, r: 7, emoji: '🐸+🐰' }, { a: 5, b: 3, r: 8, emoji: '🐵+🐰' }, { a: 4, b: 4, r: 8, emoji: '🐸+🐸' }, { a: 5, b: 4, r: 9, emoji: '🐵+🐸' }, { a: 5, b: 5, r: 10, emoji: '🐵+🐵' }, { a: 6, b: 1, r: 7, emoji: '🐼+🐶' }, { a: 6, b: 2, r: 8, emoji: '🐼+🐱' }, { a: 7, b: 1, r: 8, emoji: '🐨+🐶' }, { a: 7, b: 2, r: 9, emoji: '🐨+🐱' }, { a: 8, b: 1, r: 9, emoji: '🦊+🐶' }, { a: 8, b: 2, r: 10, emoji: '🦊+🐱' }, { a: 9, b: 1, r: 10, emoji: '🐻+🐶' }, { a: 3, b: 4, r: 7, emoji: '🐰+🐸' }, { a: 4, b: 5, r: 9, emoji: '🐸+🐵' }, { a: 6, b: 3, r: 9, emoji: '🐼+🐰' }, { a: 7, b: 3, r: 10, emoji: '🐨+🐰' }, ] const exercises: any[] = [] for (const { a, b, r, emoji } of sumas) { const id = `num5-suma-${a}-${b}` exercises.push({ id, stage: 5, skillCode: 'suma', type: 'problema', prerequisites: a <= 5 && b <= 5 ? ['num4-secuencia-11-20'] : [`num5-suma-${a}-${b - 1}`], content: { instruction: `¿Cuánto es ${a} + ${b}?`, text: `${a} + ${b} = ?`, audioText: `${a} más ${b}`, emoji, options: [ ...Array.from({ length: 4 }, (_, i) => r - 2 + i + (i >= 2 ? 2 : 0)) .filter(j => j >= 1 && j <= 12 && j !== r) .slice(0, 2) .map(j => ({ label: String(j), correct: false, id: String(j) })), { label: String(r), correct: true, id: String(r) }, ].sort(() => Math.random() - 0.5), }, functionalContext: 'Sumar dos números pequeños.. Método Montessori.', errorType: 'discriminacion-auditiva', }) } // Represent sum with objects for (const { a, b, r } of sumas.slice(0, 8)) { exercises.push({ id: `num5-suma-visual-${a}-${b}`, stage: 5, skillCode: 'suma-visual', type: 'conciencia', prerequisites: [`num5-suma-${a}-${b}`], content: { instruction: `${a} + ${b} es lo mismo que...`, text: `${'●'.repeat(a)} + ${'●'.repeat(b)}`, audioText: `Juntamos ${a} y ${b}, tenemos ${r}`, options: [ { label: '●'.repeat(r), correct: true, id: String(r) }, { label: '●'.repeat(r + 1), correct: false, id: String(r + 1) }, { label: '●'.repeat(Math.max(1, r - 1)), correct: false, id: String(r - 1) }, ], emoji: '➕', }, functionalContext: 'Visualizar la suma como unión de conjuntos.. Método Montessori.', errorType: 'discriminacion-auditiva', }) } const stage: Stage = { id: 5, name: 'Sumas simples (1-10)', description: 'Sumar números del 1 al 10 con ayudas visuales y ejercicios progresivos.', exercises, } export default stage