110 lines
4.2 KiB
TypeScript
110 lines
4.2 KiB
TypeScript
import type { Stage } from '../types'
|
|
|
|
const palabras3silabas = [
|
|
{ palabra: 'MALETA', silabas: ['MA', 'LE', 'TA'], emoji: '🧳' },
|
|
{ palabra: 'PALETA', silabas: ['PA', 'LE', 'TA'], emoji: '🎨' },
|
|
{ palabra: 'SALIDA', silabas: ['SA', 'LI', 'DA'], emoji: '🚪' },
|
|
{ palabra: 'TELÉFONO', silabas: ['TE', 'LÉ', 'FO', 'NO'], emoji: '📞' },
|
|
{ palabra: 'MARIPOSA', silabas: ['MA', 'RI', 'PO', 'SA'], emoji: '🦋' },
|
|
{ palabra: 'MUSICA', silabas: ['MU', 'SI', 'CA'], emoji: '🎵' },
|
|
{ palabra: 'PLATO', silabas: ['PLA', 'TO'], emoji: '🍽️' },
|
|
{ palabra: 'TRISTE', silabas: ['TRIS', 'TE'], emoji: '😢' },
|
|
{ palabra: 'PLUMA', silabas: ['PLU', 'MA'], emoji: '🪶' },
|
|
{ palabra: 'PANTALLA', silabas: ['PAN', 'TA', 'LLA'], emoji: '📺' },
|
|
{ palabra: 'PRIMAVERA', silabas: ['PRI', 'MA', 'VE', 'RA'], emoji: '🌸' },
|
|
{ palabra: 'MELÓN', silabas: ['ME', 'LÓN'], emoji: '🍈' },
|
|
{ palabra: 'SILLA', silabas: ['SI', 'LLA'], emoji: '🪑' },
|
|
{ palabra: 'TORTUGA', silabas: ['TOR', 'TU', 'GA'], emoji: '🐢' },
|
|
{ palabra: 'DORMIR', silabas: ['DOR', 'MIR'], emoji: '😴' },
|
|
{ palabra: 'RATÓN', silabas: ['RA', 'TÓN'], emoji: '🐭' },
|
|
{ palabra: 'NARIZ', silabas: ['NA', 'RIZ'], emoji: '👃' },
|
|
{ palabra: 'LÁPIZ', silabas: ['LÁ', 'PIZ'], emoji: '✏️' },
|
|
{ palabra: 'DINOSAURIO', silabas: ['DI', 'NO', 'SAU', 'RIO'], emoji: '🦕' },
|
|
{ palabra: 'ELEFANTE', silabas: ['E', 'LE', 'FAN', 'TE'], emoji: '🐘' },
|
|
]
|
|
|
|
const exercises: any[] = []
|
|
|
|
for (const { palabra, silabas, emoji } of palabras3silabas) {
|
|
const lowerPalabra = palabra.toLowerCase().replace(/[^a-záéíóú]/g, '')
|
|
|
|
// Read the word
|
|
exercises.push({
|
|
id: `lec7-${lowerPalabra}-leer`,
|
|
stage: 7,
|
|
skillCode: `palabra-${lowerPalabra}`,
|
|
type: 'eleccion',
|
|
prerequisites: ['lec6-palabra-mapa-leer'],
|
|
content: {
|
|
instruction: `Leé esta palabra: ${palabra}`,
|
|
text: palabra,
|
|
audioText: `${palabra}`,
|
|
emoji,
|
|
options: [
|
|
{ label: palabra, correct: true, id: lowerPalabra },
|
|
...palabras3silabas
|
|
.filter(p => p.palabra !== palabra)
|
|
.slice(0, 2)
|
|
.map(p => ({ label: p.palabra, correct: false, id: p.palabra.toLowerCase().replace(/[^a-záéíóú]/g, '') })),
|
|
],
|
|
},
|
|
functionalContext: `Leer la palabra ${palabra}.`,
|
|
errorType: 'silaba-dificil',
|
|
})
|
|
|
|
// Count syllables
|
|
exercises.push({
|
|
id: `lec7-${lowerPalabra}-silabas`,
|
|
stage: 7,
|
|
skillCode: `palabra-${lowerPalabra}`,
|
|
type: 'conciencia',
|
|
prerequisites: [`lec7-${lowerPalabra}-leer`],
|
|
content: {
|
|
instruction: `¿Cuántas sílabas tiene ${palabra}?`,
|
|
text: palabra,
|
|
audioText: `¿Cuántas sílabas?`,
|
|
options: [
|
|
{ label: `${'👏'.repeat(silabas.length)} ${silabas.length}`, correct: true, id: `${silabas.length}` },
|
|
{ label: `${'👏'.repeat(Math.max(1, silabas.length - 1))} ${silabas.length - 1}`, correct: false, id: `${silabas.length - 1}` },
|
|
{ label: `${'👏'.repeat(silabas.length + 1)} ${silabas.length + 1}`, correct: false, id: `${silabas.length + 1}` },
|
|
],
|
|
emoji,
|
|
},
|
|
functionalContext: `Contar sílabas en ${palabra}.`,
|
|
errorType: 'discriminacion-auditiva',
|
|
})
|
|
|
|
// Match image
|
|
exercises.push({
|
|
id: `lec7-${lowerPalabra}-imagen`,
|
|
stage: 7,
|
|
skillCode: `palabra-${lowerPalabra}`,
|
|
type: 'palabra',
|
|
prerequisites: [`lec7-${lowerPalabra}-silabas`],
|
|
content: {
|
|
instruction: `¿Qué palabra es?`,
|
|
imageEmoji: emoji,
|
|
audioText: `¿Cuál es?`,
|
|
options: [
|
|
...palabras3silabas
|
|
.filter(p => p.palabra !== palabra)
|
|
.slice(0, 2)
|
|
.map(p => ({ label: p.palabra, correct: false, id: p.palabra.toLowerCase().replace(/[^a-záéíóú]/g, '') })),
|
|
{ label: palabra, correct: true, id: lowerPalabra },
|
|
{ label: 'Escuchar 👂', correct: false, id: 'escuchar' },
|
|
],
|
|
},
|
|
functionalContext: `Asociar la palabra ${palabra} con su imagen.`,
|
|
errorType: 'confusion-letra',
|
|
})
|
|
}
|
|
|
|
const stage: Stage = {
|
|
id: 7,
|
|
name: 'Palabras de 3+ sílabas',
|
|
description: 'Leer y comprender palabras de 3 o más sílabas con sílabas compuestas.',
|
|
exercises,
|
|
}
|
|
|
|
export default stage
|