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.
120 lines
4.3 KiB
TypeScript
120 lines
4.3 KiB
TypeScript
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
|