CalculMental/CahierDesCharges.ipynb
2023-10-20 16:18:07 +02:00

145 lines
5.3 KiB
Plaintext
Executable File

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Cahier des charges\n",
"\n",
"\n",
"donc notre projet de site \"d'entrainement cerebrale sur le theme des operation mathematique\" plus communement appelé \"calcul mental\" par le commun des mortels\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Taches à effectuer + %\n",
"\n",
"## Priorité - Haute\n",
"\n",
"> 1) la fonction generation de chiffre/calcul aleatoire - 100%\n",
"- docstring tres explicite\n",
"- prends en parametre une difficulté.\n",
"- sa range() doit etre modulable celon la difficulté ( par exemple en facile on obtient des nombres entre 0 et 10 et en difficile entre 25 et 75)\n",
"- si le calcul est une division, elle doit tomber juste, donc soit les chiffre \"3\" \"6\" \"9\" sont a banir ou bien verifier que le diviseur et le divisé partagent une table\n",
"- si le calcul est une soustraction, le resultat doir etre positif, donc verifier que le premier nombre est plus grand que le second\n",
"\n",
"> 2) la fonction verifiant la reponse - 100 %\n",
"- docstring explicite\n",
"- prends en parametre le calcul generé precedement\n",
"- doit etre fiable a 100%\n",
"\n",
"> des test unitaire - 0 %\n",
"\n",
"## Priorité - Moyenne\n",
"\n",
"> 3) Interface Homme - machine html / css - 80%\n",
"- Belle, minimale et efficace\n",
"- les pages principales sont:\n",
" * le menu principale (ou l'utilisateur choisis un mode de jeu : qcm ou classique, une difficulté)\n",
" * les pages de calcul (ou l'utilisateur reponds aux calcul qui lui sont proposés)\n",
" * la page finale (ou l'utilisateur obtiens la correction des calculs, son score et peut choisir ou non d'enregistrer son score dans le classement dans ce cas il devra entrer un pseudonyme)\n",
" * la page de classement ( qui affiche tout les score enregistrés dans le classement)\n",
"\n",
">4) la fonction generation de reponse pour qcm - 100%\n",
"- docstring explicite\n",
"- prends en parametre le calcul generé precedement et sa difficulté\n",
"- genere des 3 fausses reponses en plus de la vrai reponse\n",
"- plus la difficulté est basse plus la similarité entre la reponse juste et les reponses fausses est basse \n",
"\n",
"> 5) fonction attribuant un score a calcul - 0%\n",
"- prends en parametre un calcul et sa difficulté\n",
"- renvoie un score entre 0 et 10 celon la perfomance de l'utilisateur ( on peut prendre par exemple la vitesse a la quelle l'utilisateur a repondu a la question pour quantifier la perfomance )\n",
"\n",
"## Priorité - Basse / optionel\n",
"\n",
"> Ajouter un classement des meilleurs perfomances\n",
"\n",
"> Ajouter la possiblilité a l'utilisateur de se chronometrer\n",
"\n",
"> Donnez la possiblilité a l'utilisateur de choisir le nombre de calculs\n",
"ex: 10, 30, 50 et peut etre integrer un systeme de difficulté croissante\n",
"\n",
"> Ajouter des effets sonores /des musiques libre de droit\n",
"\n",
"> Ajouter un mode marathon ou il n'y a pas de limite sur le nombre de question, la partie s'arette a la premiere mauvaise reponse, le but et donc d'enchainer le plus de bonne reponse avec des calculs a difficulté croissante\n",
"\n",
"# Reparition des Taches\n",
"\n",
"\n",
"\n",
"| Fonction | Developpeur | Progression |\n",
"| :------------ |: -------------: | ------------: |\n",
"| 1) | Clément | 100% |\n",
"| 2) | Clément | 100% |\n",
"| 3) | Djalim | 80% |\n",
"| 4) | Djalim | 100% |\n",
"| 5) | . | 0% |\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Exemple visuel du site"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![image](https://cdn.discordapp.com/attachments/561585323616763924/707153314214838292/Menu.png)\n",
"![image](https://cdn.discordapp.com/attachments/561585323616763924/707153302386900992/class.png)\n",
"![image](https://cdn.discordapp.com/attachments/561585323616763924/707153317574344754/qcm.png)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.4"
},
"latex_envs": {
"LaTeX_envs_menu_present": true,
"autoclose": false,
"autocomplete": true,
"bibliofile": "biblio.bib",
"cite_by": "apalike",
"current_citInitial": 1,
"eqLabelWithNumbers": true,
"eqNumInitial": 1,
"hotkeys": {
"equation": "Ctrl-E",
"itemize": "Ctrl-I"
},
"labels_anchors": false,
"latex_user_defs": false,
"report_style_numbering": false,
"user_envs_cfg": false
}
},
"nbformat": 4,
"nbformat_minor": 2
}