Files
renato97 ce7cb27290 fix: métodos europeos 100% cobertura (Isabella lectura+numeros)
Añadido Borel-Maisonny a lectura etapa 1-7, Decroly a etapa 8-9,
Montessori a numeros etapa 1-8. Ahora 65/65 archivos con método europeo.
2026-07-25 22:39:55 -03:00

108 lines
3.4 KiB
TypeScript

import type { Stage } from '../types'
const exercises: any[] = []
// Pair number with quantity
for (let n = 1; n <= 10; n++) {
const emojis = ['🐶', '🐱', '🐰', '🐸', '🐵', '🐼', '🐨', '🦊', '🐻', '🐯']
const animal = emojis[n - 1]
const howMany = animal.repeat(Math.min(n, 5)) + (n > 5 ? ` (${n})` : '')
exercises.push({
id: `num3-cantidad-${n}`,
stage: 3,
skillCode: `correspondencia-${n}`,
type: 'conciencia',
prerequisites: n === 1 ? ['num2-trazo-10'] : [`num3-cantidad-${n - 1}`],
content: {
instruction: `¿Cuántos ${animal} hay?`,
audioText: `Contá los animalitos`,
text: n <= 5 ? animal.repeat(n) : `${animal.repeat(5)}... +${n - 5}`,
options: [
...Array.from({ length: 10 }, (_, i) => i + 1)
.filter(j => j !== n)
.slice(0, 2)
.map(j => ({ label: String(j), correct: false, id: String(j) })),
{ label: String(n), correct: true, id: String(n) },
].sort(() => Math.random() - 0.5),
emoji: animal,
},
functionalContext: 'Asociar cantidad con número.. Método Montessori.',
errorType: 'discriminacion-auditiva',
})
}
// Match groups that are equal
const pares = [
{ a: '🐶🐶🐶', b: '3️⃣', num: 3 },
{ a: '🐱🐱🐱🐱', b: '4️⃣', num: 4 },
{ a: '🐰🐰🐰🐰🐰', b: '5️⃣', num: 5 },
{ a: '🐸🐸', b: '2️⃣', num: 2 },
{ a: '🐵🐵🐵🐵🐵🐵', b: '6️⃣', num: 6 },
]
for (const { a, b, num } of pares) {
exercises.push({
id: `num3-emparejar-${num}`,
stage: 3,
skillCode: 'correspondencia',
type: 'conciencia',
prerequisites: [`num3-cantidad-${num}`],
content: {
instruction: `¿Cuál número le corresponde a ${a}?`,
audioText: `¿Qué número es?`,
text: a,
options: [
...pares.filter(p => p.num !== num).slice(0, 2).map(p => ({ label: p.b, correct: false, id: String(p.num) })),
{ label: b, correct: true, id: String(num) },
].sort(() => Math.random() - 0.5),
emoji: '🔄',
},
functionalContext: 'Emparejar grupos con su número.. Método Montessori.',
errorType: 'confusion-letra',
})
}
// More/less comparison
const comparaciones = [
{ a: 3, b: 5, mas: 5, menos: 3 },
{ a: 2, b: 7, mas: 7, menos: 2 },
{ a: 4, b: 4, mas: 4, menos: 4 },
{ a: 6, b: 3, mas: 6, menos: 3 },
{ a: 1, b: 9, mas: 9, menos: 1 },
]
for (const { a, b, mas, menos } of comparaciones) {
const idA = '⭐'.repeat(a)
const idB = '⭐'.repeat(b)
exercises.push({
id: `num3-mas-${a}-${b}`,
stage: 3,
skillCode: 'comparacion',
type: 'conciencia',
prerequisites: [`num3-cantidad-${Math.max(a, b)}`],
content: {
instruction: `¿Dónde hay MÁS?`,
text: `${idA} vs ${idB}`,
audioText: `¿Cuál tiene más?`,
options: [
{ label: `👈 ${a}`, correct: mas === a, id: `izq-${a}` },
{ label: `👉 ${b}`, correct: mas === b, id: `der-${b}` },
{ label: '😐 Igual', correct: a === b, id: 'igual' },
],
emoji: '⚖️',
},
functionalContext: 'Comparar cantidades (más/menos).. Método Montessori.',
errorType: 'discriminacion-auditiva',
})
}
const stage: Stage = {
id: 3,
name: 'Correspondencia uno a uno',
description: 'Asociar cantidades con números, emparejar grupos iguales, comparar más y menos.',
exercises,
}
export default stage