diff --git a/Evaluation-T4.md b/Evaluation-T4.md new file mode 100644 index 0000000000000000000000000000000000000000..4a1d26c1766a2658681f69b661be567ae5995a24 --- /dev/null +++ b/Evaluation-T4.md @@ -0,0 +1,89 @@ +# Grille d'évaluation T4 + +## GIT +- Organisation + - [ ] Les fichiers sources suivent une organisation et des règles de nommage clairement établie. + - [ ] Les fichiers sources sont tous partagés et organisés. + - [x] Certains fichiers sources ne sont pas partagés ou leur organisation laisse à désirer. +- Versioning + - [ ] La granularité des commits est pertinente et les commits sont clairement et systématique renseignés. + - [ ] La granularité des commits n'est pas pertinente ou les commits ne sont pas clairement et systématiquement renseignés. + - [x] La granularité des commits n'est pas pertinente et les commits ne sont pas clairement et systématiquement renseignés. +- Droits d'accès + - [ ] Le dépôt GIT est accessible à tous, et Julien Gossa est master. + - [ ] Julien Gossa est master sur le dépôt GIT. + - [x] Julien Gossa n'est pas master sur le dépôt GIT. +- README + - [ ] Le fichier présente le projet et a été régulièrement mis à jour pour tenir compte de son évolution. + - [ ] Le fichier présente le projet. + - [x] Le fichier ne présente pas le projet. +## Prototype +- Installation + - [ ] Le prototype s'installe sans effort. + - [ ] Le prototype s'installe en suivant une procédure. + - [x] Le prototype ne s'installe pas. +- Exécution + - [ ] Le prototype s'exécute en cliquant sur une icône. + - [ ] Le prototype s'exécute en suivant une procédure. + - [x] Le prototype ne s'exécute pas +- Stabilité + - [ ] Le prototype est parfaitement stable + - [ ] Le prototype est rarement instable + - [x] Le prototype est instable +- Affordabilité + - [ ] Toutes les instructions de jeu sont inclues dans le prototype sous forme d'un tutoriel. + - [ ] Les instructions de jeu sont sous forme d'un manuel. + - [x] Les instructions de jeu ne sont pas données. +- Transmission du concept + - [ ] Le prototype permet de parfaitement transmettre le concept-cible au joueur. + - [ ] Le prototype permet de transmettre le concept-cible au joueur. + - [x] Le prototype ne permet pas de transmettre le concept-cible au joueur. +## Cahier des charges +- Modèle de document + - [ ] Le CdC respecte parfaitement le modèle de document. + - [ ] Le CdC respecte globalement le modèle de document. + - [x] Le CdC ne respecte pas le modèle de document. +- Description de l'application + - [ ] La description permet de se faire une idée précise et exhaustive de l'application attendue. + - [ ] La description permet de se faire une idée de l'application attendue. + - [x] La description ne permet pas de se faire une idée de l'application attendue. +- Modèle conceptuel + - [ ] Le modèle conceptuel applicatif (MCD ou digramme de classe) est exhaustif et détaillé. + - [ ] Le modèle conceptuel applicatif (MCD ou digramme de classe) est donné. + - [x] Le modèle conceptuel applicatif (MCD ou digramme de classe) n'est pas donné. +- Entrées / Actions du joueur + - [ ] La description des entrées permet de connaitre parfaitement les interactions avec l'application. + - [ ] La description des entrées permet de se faire une première idées des interactions avec l'utilisateur. + - [x] La description des entrées ne pas permet pas de se faire une première idées des interactions avec l'utilisateur. +- Sorties / Infomations au joueur + - [ ] La description des sorties permet de connaitre parfaitement les interactions avec l'application. + - [ ] La description des sorties permet de se faire une première idées des interactions avec l'utilisateur. + - [x] La description des sorties ne pas permet pas de se faire une première idées des interactions avec l'utilisateur. +- Description du moteur interne + - [ ] La description du moteur interne permet de comprendre parfaitement le fonctionnement de l'application. + - [ ] La description du moteur interne permet de comprendre le fonctionnement de l'application. + - [x] La description du moteur interne ne permet pas de comprendre le fonctionnement de l'application. +- Découpage modulaire + - [ ] L'application est couverte par des modules pertinents et pleinement décrits. + - [ ] L'application est découpée en modules pertinents. + - [x] L'application n'est pas découpée en modules pertinents. +- Granularité des fonctionnalités + - [ ] Les fonctionnalités sont très fines. + - [ ] Les fonctionnalités sont fines. + - [x] Les fonctionnalités sont grossières. +- Exhaustivité des fonctionnalités + - [ ] Les fonctionnalités couvrent la totalité de l'application. + - [ ] Les fonctionnalités couvrent globalement l'application. + - [x] Les fonctionnalités ne couvrent pas l'application. +- Description des fonctionnalités + - [ ] Les fonctionnalités sont précisément décrites. + - [ ] Les fonctionnalités sont décrites. + - [x] Les fonctionnalités ne sont pas bien décrites. +- Priorisation des fonctionnalités + - [ ] Les fonctionnalités sont classées par priorités de façon pertinentes. + - [ ] Les fonctionnalités sont classées par priorités. + - [x] Les fonctionnalités ne sont pas classées par priorités. +- Difficulté des fonctionnalités + - [ ] Les fonctionnalités sont annotées par une difficulté pertinente. + - [ ] Les fonctionnalités sont annotées par une difficulté. + - [x] Les fonctionnalités ne sont pas annotées par une difficulté. \ No newline at end of file diff --git a/psychorientation/psychorientation/Config.cs b/psychorientation/psychorientation/Config.cs index 16b19f61d75488cb12079ff45cf2a36ce370011a..f7dcb873bac01ceee1816f04d7c5df74ee2989ba 100644 --- a/psychorientation/psychorientation/Config.cs +++ b/psychorientation/psychorientation/Config.cs @@ -18,7 +18,7 @@ namespace psychorientation public double coeffCompetenceEcrit; public double coeffEffortEcrit; - public static Config getInstance() + public static Config GetInstance() { if (Config.instance == null) { @@ -33,22 +33,22 @@ namespace psychorientation } } - public double getCoeffEffortOral() + public double GetCoeffEffortOral() { return this.coeffEffortOral; } - public double getCoeffCompetenceOral() + public double GetCoeffCompetenceOral() { return this.coeffCompetenceOral; } - public double getCoeffCompetenceEcrit() + public double GetCoeffCompetenceEcrit() { return this.coeffCompetenceOral; } - public double getCoeffEffortEcrit() + public double GetCoeffEffortEcrit() { return this.coeffEffortEcrit; } diff --git a/psychorientation/psychorientation/Form1.Designer.cs b/psychorientation/psychorientation/Form1.Designer.cs deleted file mode 100644 index 27d836493902ca709dce268d64971783d9ba551a..0000000000000000000000000000000000000000 --- a/psychorientation/psychorientation/Form1.Designer.cs +++ /dev/null @@ -1,51 +0,0 @@ -namespace psychorientation -{ - partial class Form1 - { - /// <summary> - /// Variable nécessaire au concepteur. - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// Nettoyage des ressources utilisées. - /// </summary> - /// <param name="disposing">true si les ressources managées doivent être supprimées ; sinon, false.</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Code généré par le Concepteur Windows Form - - /// <summary> - /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas - /// le contenu de cette méthode avec l'éditeur de code. - /// </summary> - private void InitializeComponent() - { - this.SuspendLayout(); - // - // Form1 - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(1024, 560); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; - this.MaximizeBox = false; - this.Name = "Form1"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "Psychorientation"; - this.Load += new System.EventHandler(this.Form1_Load); - this.ResumeLayout(false); - - } - - #endregion - } -} - diff --git a/psychorientation/psychorientation/Form1.cs b/psychorientation/psychorientation/Form1.cs deleted file mode 100644 index 7d4e0967dacda6fa864cf8a30f2a9b94fa5e7aac..0000000000000000000000000000000000000000 --- a/psychorientation/psychorientation/Form1.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace psychorientation -{ - public partial class Form1 : Form - { - List<string> listClasse = new List<string>(); - GestionnaireEleve gestEleve = new GestionnaireEleve(); - - int nombreEleve = 5; - - - public Form1() - { - InitializeComponent(); - } - - private void InitialiserTableau() - { - listClasse.Add("Seconde"); - listClasse.Add("Premiere"); - listClasse.Add("Terminale"); - } - - private void CreerEleve(int nbEleve) - { - for(int i = 0; i < nbEleve; i++) - { - Eleve elev = new Eleve(i); - gestEleve.ajouterEleve(elev); - } - } - - - private void Form1_Load(object sender, EventArgs e) - { - InitialiserTableau(); - CreerEleve(nombreEleve); - - TypeMessage tm = TypeMessage.INFORMATION; - Message m = new Message(-1,"Bonjour apprenti prof, vous allez apprendre à éduquer des joueurs !! ","Début",tm); - m.ShowDialog(); - - - InterfaceInfoEleve ii = new InterfaceInfoEleve(); - ii.setParam(gestEleve.getEleve(0),listClasse); - ii.Left = 0; - ii.Top = 0; - ii.BorderStyle = BorderStyle.Fixed3D; - this.Controls.Add(ii); - - - } - } -} diff --git a/psychorientation/psychorientation/InterfaceClasse.Designer.cs b/psychorientation/psychorientation/InterfaceClasse.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..fbd748f616543491239c6dd6386c76b505582c18 --- /dev/null +++ b/psychorientation/psychorientation/InterfaceClasse.Designer.cs @@ -0,0 +1,95 @@ +namespace psychorientation +{ + partial class InterfaceClasse + { + /// <summary> + /// Variable nécessaire au concepteur. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Nettoyage des ressources utilisées. + /// </summary> + /// <param name="disposing">true si les ressources managées doivent être supprimées ; sinon, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Code généré par le Concepteur Windows Form + + /// <summary> + /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas + /// le contenu de cette méthode avec l'éditeur de code. + /// </summary> + private void InitializeComponent() + { + this.pb_action_suivante = new System.Windows.Forms.PictureBox(); + this.pb_liste_eleves = new System.Windows.Forms.PictureBox(); + this.lbl_date = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.pb_action_suivante)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pb_liste_eleves)).BeginInit(); + this.SuspendLayout(); + // + // pb_action_suivante + // + this.pb_action_suivante.BackColor = System.Drawing.SystemColors.ControlDark; + this.pb_action_suivante.Location = new System.Drawing.Point(922, 471); + this.pb_action_suivante.Name = "pb_action_suivante"; + this.pb_action_suivante.Size = new System.Drawing.Size(90, 77); + this.pb_action_suivante.TabIndex = 0; + this.pb_action_suivante.TabStop = false; + this.pb_action_suivante.Click += new System.EventHandler(this.Pb_action_suivante_Click); + // + // pb_liste_eleves + // + this.pb_liste_eleves.Location = new System.Drawing.Point(12, 12); + this.pb_liste_eleves.Name = "pb_liste_eleves"; + this.pb_liste_eleves.Size = new System.Drawing.Size(90, 78); + this.pb_liste_eleves.TabIndex = 1; + this.pb_liste_eleves.TabStop = false; + this.pb_liste_eleves.Click += new System.EventHandler(this.Pb_liste_eleves_Click); + // + // lbl_date + // + this.lbl_date.AutoSize = true; + this.lbl_date.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbl_date.Location = new System.Drawing.Point(108, 12); + this.lbl_date.Name = "lbl_date"; + this.lbl_date.Size = new System.Drawing.Size(142, 24); + this.lbl_date.TabIndex = 2; + this.lbl_date.Text = "Chargement..."; + // + // InterfaceClasse + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1024, 560); + this.Controls.Add(this.lbl_date); + this.Controls.Add(this.pb_liste_eleves); + this.Controls.Add(this.pb_action_suivante); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MaximizeBox = false; + this.Name = "InterfaceClasse"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Psychorientation"; + this.Load += new System.EventHandler(this.Form1_Load); + ((System.ComponentModel.ISupportInitialize)(this.pb_action_suivante)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pb_liste_eleves)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.PictureBox pb_action_suivante; + private System.Windows.Forms.PictureBox pb_liste_eleves; + private System.Windows.Forms.Label lbl_date; + } +} + diff --git a/psychorientation/psychorientation/InterfaceClasse.cs b/psychorientation/psychorientation/InterfaceClasse.cs new file mode 100644 index 0000000000000000000000000000000000000000..dc85503f882b2057fd3ef9331dfab0686ed9f504 --- /dev/null +++ b/psychorientation/psychorientation/InterfaceClasse.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace psychorientation +{ + public partial class InterfaceClasse : Form + { + private List<String> libele_mois = new List<String>() + {"Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"}; + private List<String> libele_niveau = new List<String>() + {"Seconde", "Première", "Terminale"}; + private int mois_actuel = 8; + private int annee_actuelle = 0; + + public InterfaceClasse() + { + InitializeComponent(); + } + + + private void Form1_Load(object sender, EventArgs e) + { + lbl_date.Text = libele_mois[(mois_actuel % 12)] + " " + libele_niveau[annee_actuelle]; + + TypeMessage tm = TypeMessage.INFORMATION; + Message m = new Message(-1,"Bonjour apprenti prof, vous allez apprendre à éduquer des joueurs !! ","Début",tm); + m.ShowDialog(); + } + + private void Pb_action_suivante_Click(object sender, EventArgs e) + { + // Traite les actions à effectuer avant de passer au mois suivant. + if (false) + { + // Lance l'interface appropriee. + return; + } + + // Passe au mois suivant. + mois_actuel++; + switch(mois_actuel) + { + case 17: // Fin de la 1ère année : Début Juin. + mois_actuel = 20; + annee_actuelle = 1; + break; + case 29: // Fin de la 2nde année : Début Juin. + mois_actuel = 32; + annee_actuelle = 2; + break; + case 42: // Fin de la 3ème année : Debut Juillet. + // Fin de la partie. + break; + } + + lbl_date.Text = libele_mois[(mois_actuel % 12)] + " " + libele_niveau[annee_actuelle]; + } + + private void Pb_liste_eleves_Click(object sender, EventArgs e) + { + + } + } +} diff --git a/psychorientation/psychorientation/Form1.resx b/psychorientation/psychorientation/InterfaceClasse.resx similarity index 100% rename from psychorientation/psychorientation/Form1.resx rename to psychorientation/psychorientation/InterfaceClasse.resx diff --git a/psychorientation/psychorientation/Program.cs b/psychorientation/psychorientation/Program.cs index 41634b64976497c6ecde04d4b1db97b5e865c4aa..5f0feaef3dca7c8135265bd0b7ada4de49f35209 100644 --- a/psychorientation/psychorientation/Program.cs +++ b/psychorientation/psychorientation/Program.cs @@ -16,7 +16,7 @@ namespace psychorientation { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new Form1()); + Application.Run(new InterfaceClasse()); } } } diff --git a/psychorientation/psychorientation/psychorientation.csproj b/psychorientation/psychorientation/psychorientation.csproj index b59ad5cd9b54821687dea3c897cfbdace609c1eb..767381f087b341998523d997794855a9b22c2bad 100644 --- a/psychorientation/psychorientation/psychorientation.csproj +++ b/psychorientation/psychorientation/psychorientation.csproj @@ -51,11 +51,11 @@ <ItemGroup> <Compile Include="Config.cs" /> <Compile Include="Eleve.cs" /> - <Compile Include="Form1.cs"> + <Compile Include="InterfaceClasse.cs"> <SubType>Form</SubType> </Compile> - <Compile Include="Form1.Designer.cs"> - <DependentUpon>Form1.cs</DependentUpon> + <Compile Include="InterfaceClasse.Designer.cs"> + <DependentUpon>InterfaceClasse.cs</DependentUpon> </Compile> <Compile Include="GestionnaireEleve.cs" /> <Compile Include="InterfaceInfoEleve.cs"> @@ -73,8 +73,8 @@ <Compile Include="Note.cs" /> <Compile Include="Program.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> - <EmbeddedResource Include="Form1.resx"> - <DependentUpon>Form1.cs</DependentUpon> + <EmbeddedResource Include="InterfaceClasse.resx"> + <DependentUpon>InterfaceClasse.cs</DependentUpon> </EmbeddedResource> <EmbeddedResource Include="InterfaceInfoEleve.resx"> <DependentUpon>InterfaceInfoEleve.cs</DependentUpon>