File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/beta3F13-2-mrZwszvI.js.map
{"version":3,"file":"beta3F13-2-mrZwszvI.js","sources":["../../src/exercices/beta/beta3F13-2.js"],"sourcesContent":["import { graphiqueInterpole } from '../../lib/2d/courbes.js'\nimport { point } from '../../lib/2d/points.js'\nimport { polygoneRegulier } from '../../lib/2d/polygones.js'\nimport { repere } from '../../lib/2d/reperes.js'\nimport { shuffle } from '../../lib/outils/arrayOutils'\nimport { colorToLatexOrHTML, mathalea2d } from '../../modules/2dGeneralites.js'\nimport { context } from '../../modules/context.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport Exercice from '../Exercice.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\n\nexport const titre = 'Spécial escape game'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\n\n/**\n * @author Jean-Claude Lhote\n * publié le 15/11/2020\n * ref 3F13-2\n */\nexport const uuid = 'be398'\nexport const ref = 'beta3F13-2'\n\nexport function cesar (word, decal) {\n let mot = ''\n let code = 65\n for (let x = 0; x < word.length; x++) {\n code = word.charCodeAt(x) % 65\n code = (code + decal) % 26 + 65\n mot += String.fromCharCode(code)\n }\n return mot\n}\n\nexport function codeCesar (mots, decal) {\n const motsCodes = []\n for (let x = 0; x < mots.length; x++) {\n motsCodes.push(cesar(mots[x], decal))\n }\n return motsCodes\n}\n\nexport default function PremierEscapeGameMathalea () {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.titre = titre\n this.consigne = 'Trouver le mot de passe.'\n this.nbQuestions = 1\n context.isHtml ? this.spacingCorr = 1 : this.spacingCorr = 1.5\n context.isHtml ? this.spacing = 1 : this.spacing = 2\n this.nbCols = 1\n this.nbColsCorr = 1\n this.sup = 1\n // this.sup2 = ''\n this.pasDeVersionLatex = false\n this.nouvelleVersion = function () {\n const lettres = []\n const mots = ['BMDF', 'OGNQ', 'BUQP', 'BAUP', 'BXGE', 'BDUJ', 'MZSXQE', 'BDUEYQ', 'BMDFUQ', 'HMXQGD', 'OAGBXQ', 'PDAUFQ', 'DQXMFUAZ', 'BMDMNAXQ', 'MPPUFUAZ', 'QJBAEMZF', 'RAZOFUAZ', 'OAYBXQJQ']\n let alphabet = []\n this.listeQuestions = []\n this.listeCorrections = []\n let texte = ''\n let texteCorr = ''\n let f1\n let f2\n let f3\n let f4\n let p\n // Initialisation des tableaux\n for (let i = 0; i < 26; i++) {\n alphabet.push(String.fromCharCode(65 + i))\n }\n for (let y = 0; y < 5; y++) {\n lettres.push(['*', '*', '*', '*', '*', '*'])\n }\n\n const type = parseInt(this.sup)\n const mdp = cesar(mots[randint(0, 5) + (type - 1) * 6], 14)\n const absc = []\n const ord = []\n let car\n texte += ajouteChampTexteMathLive(this, 0, 'alphanumeric', { texteAvant: 'Taper le mot de passe en majuscules : ' })\n texteCorr += `Le mot de passe comporte ${2 + 2 * type} lettres.`\n setReponse(this, 0, mdp, { formatInteractif: 'texte' })\n for (let x = 0; x < type * 2 + 2; x++) {\n car = mdp[x]\n alphabet = alphabet.filter(item => item !== car)\n if (x % 2 === 0) {\n absc.push(randint(0, 2))\n } else {\n absc.push(randint(3, 5))\n }\n // Pour l'abscisse, pas de problème de doublons\n if (x % 2 === 0) {\n ord.push(randint(0, 4))// premier point, l'ordonnée n'est pas contrainte.\n } else {\n ord.push(randint(0, 4, ord[x - 1]))\n } // pour le deuxième, on évite l'ordonnée précédente\n if (lettres[ord[x]][absc[x]] === '*') {\n lettres[ord[x]][absc[x]] = car\n } else if (lettres[ord[x]][absc[x]] !== car) {\n for (let i = 0; i < x; i++) {\n if (absc[i] === absc[x] && ord[i] === ord[x]) {\n ord[x] = (ord[x] + 1) % 5\n i = 0\n }\n }\n lettres[ord[x]][absc[x]] = car\n }\n }\n for (let i = 0; i < type * 2 + 2; i++) {\n absc[i]++ // On corrige les coordonnées des points\n ord[i]++\n }\n // On complète la grille de lettres\n alphabet = shuffle(alphabet)\n for (let x = 0; x < 6; x++) {\n for (let y = 0; y < 5; y++) {\n if (lettres[y][x] === '*' && alphabet.length > 0) {\n lettres[y][x] = alphabet.pop()\n }\n }\n }\n // On calcule les ordonnées de début et de fin de chaque courbe\n const ord0 = [0, 0, 0, 0]\n const ord6 = [0, 0, 0, 0]\n const r = repere({ xMin: -1, yMin: -1, xMax: 7, yMax: 6, xUnite: 2 })\n\n for (let i = 0; i < type * 2 + 2; i += 2) {\n if (ord[i] > ord[i + 1]) {\n ord0[i / 2] = -2.34 + randint(0, 2)\n ord6[i / 2] = 8.17 - randint(0, 2)\n } else {\n ord6[i / 2] = -2.34 + randint(0, 2)\n ord0[i / 2] = 8.17 - randint(0, 2)\n }\n }\n switch (type) {\n case 1: // N&B\n p = polygoneRegulier(point(-1, -2), point(15, -2), 4)\n p.couleurDeRemplissage = colorToLatexOrHTML('gray')\n p.opacite = 0.2\n f1 = graphiqueInterpole([[0, ord0[0]], [absc[0], ord[0]], [absc[1], ord[1]], [7, ord6[0]]], {\n repere: r,\n color: 'black',\n step: 0.1\n })\n f2 = graphiqueInterpole([[0, ord0[1]], [absc[2], ord[2]], [absc[3], ord[3]], [7, ord6[1]]], {\n repere: r,\n color: 'white',\n step: 0.1\n })\n f1.epaisseur = 2\n f2.epaisseur = 2\n texte += mathalea2d({ xmin: -1, ymin: -1, xmax: 15, ymax: 7, pixelsParCm: 30 }, p, r, f1, f2) + '<br>'\n break\n case 2: // RGB\n p = polygoneRegulier(point(-1, -2), point(15, -2), 4)\n p.opacite = 0.2\n p.couleurDeRemplissage = colorToLatexOrHTML('gray')\n f1 = graphiqueInterpole([[0, ord0[0]], [absc[0], ord[0]], [absc[1], ord[1]], [7, ord6[0]]], {\n repere: r,\n color: 'red',\n step: 0.1\n })\n f2 = graphiqueInterpole([[0, ord0[1]], [absc[2], ord[2]], [absc[3], ord[3]], [7, ord6[1]]], {\n repere: r,\n color: 'green',\n step: 0.1\n })\n f3 = graphiqueInterpole([[0, ord0[2]], [absc[4], ord[4]], [absc[5], ord[5]], [7, ord6[2]]], {\n repere: r,\n color: 'blue',\n step: 0.1\n })\n f1.epaisseur = 2\n f2.epaisseur = 2\n f3.pepaisseur = 2\n texte += mathalea2d({ xmin: -1, ymin: -1, xmax: 15, ymax: 7, pixelsParCm: 30 }, p, r, f1, f2, f3) + '<br>'\n break\n case 3: // CJMN\n p = polygoneRegulier(point(-1, -2), point(15, -2), 4)\n p.opacite = 0.2\n p.couleurDeRemplissage = colorToLatexOrHTML('gray')\n f1 = graphiqueInterpole([[0, ord0[0]], [absc[0], ord[0]], [absc[1], ord[1]], [7, ord6[0]]], {\n repere: r,\n color: 'cyan',\n step: 0.1\n })\n f2 = graphiqueInterpole([[0, ord0[1]], [absc[2], ord[2]], [absc[3], ord[3]], [7, ord6[1]]], {\n repere: r,\n color: 'yellow',\n step: 0.1\n })\n f3 = graphiqueInterpole([[0, ord0[2]], [absc[4], ord[4]], [absc[5], ord[5]], [7, ord6[2]]], {\n repere: r,\n color: 'magenta',\n step: 0.1\n })\n f4 = graphiqueInterpole([[0, ord0[3]], [absc[6], ord[6]], [absc[7], ord[7]], [7, ord6[3]]], {\n repere: r,\n color: 'black',\n step: 0.1\n })\n f1.epaisseur = 2\n f2.epaisseur = 2\n f3.pepaisseur = 2\n f4.epaisseur = 2\n texte += mathalea2d({\n xmin: -1,\n ymin: -1,\n xmax: 15,\n ymax: 7,\n pixelsParCm: 30\n }, p, r, f1, f2, f3, f4) + '<br>'\n break\n }\n texte += '$\\\\begin{array}{|l|' + 'c|'.repeat(6) + '}\\n'\n texte += '\\\\hline\\n'\n texte += ' '\n for (let j = 0; j < 6; j++) {\n texte += ` & \\\\text{${j + 1}}`\n }\n texte += '\\\\\\\\\\\\hline\\n'\n for (let i = 0; i < 5; i++) {\n texte += `\\\\text{${i + 1}}`\n for (let j = 0; j < 6; j++) {\n texte += '& ' + lettres[i][j] // valeur dans le tableau\n }\n texte += '\\\\\\\\\\\\hline\\n'\n }\n texte += '\\\\end{array}\\n$'\n texte += '<br>'\n\n this.listeQuestions.push(texte)\n this.listeCorrections.push(texteCorr)\n listeQuestionsToContenu(this)\n\n // this.besoinFormulaire2Numerique = ['Coefficient de réduction(problèmes de type1)', 3, ' 1 : Décimal\\n 2 : Non décimal\\n 3 : Décimal ou non'];\n }\n this.besoinFormulaireNumerique = ['Catégorie', 3, ' 1 : Noir & Blanc\\n 2 : RGB\\n 3 : CJMN']\n // this.besoinFormulaire2Texte = ['Quel est ton mot de passe ?', 1, 'Mot de passe (en majuscule):']\n}\n"],"names":["titre","interactifReady","interactifType","uuid","ref","cesar","word","decal","mot","code","codeCesar","mots","motsCodes","x","PremierEscapeGameMathalea","Exercice","context","lettres","alphabet","texte","texteCorr","f1","f2","f3","f4","p","i","y","type","mdp","randint","absc","ord","car","ajouteChampTexteMathLive","setReponse","item","shuffle","ord0","ord6","r","repere","polygoneRegulier","point","colorToLatexOrHTML","graphiqueInterpole","mathalea2d","j","listeQuestionsToContenu"],"mappings":"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"}