Commit e90fb5b2 authored by Elias Leinenweber's avatar Elias Leinenweber
Browse files

Moyenne generale dans InfoSheet

parent f6ad9664
......@@ -59,13 +59,13 @@ class Actor : public Texturable {
* @brief affiche la fiche d'information de l'Actor
*
*/
virtual void infoSheet() const = 0;
virtual void infoSheet() = 0;
/**
* @brief affiche les options disponibles lorsque l'on clique sur l'Actor
*
*/
virtual void clickPopup() const = 0;
virtual void clickPopup() = 0;
};
#endif
......@@ -93,13 +93,13 @@ class Student : public Actor {
* @brief Affiche la fiche information de l'élève
*
*/
void infoSheet() const override;
void infoSheet() override;
/**
* @brief Affiche les options disponibles lorsque l'on clique sur l'élève
*
*/
void clickPopup() const override;
void clickPopup() override;
/**
* @brief calcule la moyenne générale de l'élève
......
......@@ -66,12 +66,12 @@ class Teacher : public Actor {
/**
* @brief Affiche la fiche informations du prof.
*/
void infoSheet() const override;
void infoSheet() override;
/**
* @brief Affiche les options disponibles lorsque l'on clique sur le prof.
*/
void clickPopup() const override;
void clickPopup() override;
};
#endif
#ifndef INFO_SHEET_H
#define INFO_SHEET_H
#include "model/Student.h"
#include "view/Component.h"
/** @brief Une fiche d'information d'un personnage. */
class InfoSheet : public Component {
private:
Student *student;
public:
InfoSheet(Student *student)
: student(student)
{
}
void render();
};
......
......@@ -22,12 +22,14 @@ Student::addGrades(Subject *subject, double grade)
{
if (grades.count(subject) > 0)
grades.at(subject).push_back(grade);
else
else {
grades.emplace(subject, std::vector<double>());
addGrades(subject, grade);
}
}
void
Student::clickPopup() const
Student::clickPopup()
{
if (ImGui::MenuItem("Afficher fiche information")) {
infoSheet();
......@@ -41,9 +43,9 @@ Student::clickPopup() const
}
void
Student::infoSheet() const
Student::infoSheet()
{
Game::addComponent(new InfoSheet);
Game::addComponent(new InfoSheet(this));
}
double
......@@ -63,7 +65,7 @@ Student::moyenneMatiere(Subject *subject) const
{
assert(grades.count(subject) > 0);
double moyMatiere;
double moyMatiere = 0;
const std::vector<double> &notes = grades.at(subject);
std::vector<double>::size_type vecsize = notes.size();
......
......@@ -23,15 +23,14 @@ Teacher::Teacher(const std::string &firstname, const std::string &surname,
}
void
Teacher::clickPopup() const
Teacher::clickPopup()
{
if (ImGui::MenuItem("Afficher fiche information")) {
if (ImGui::MenuItem("Afficher fiche information"))
infoSheet();
}
}
void
Teacher::infoSheet() const
Teacher::infoSheet()
{
// TODO
}
......@@ -18,7 +18,7 @@ InfoSheet::render()
if (ImGui::Begin("Fiche d'info", nullptr, ImGuiWindowFlags_NoMove)) {
ImGui::LabelText("Satisfaction", "I can't get no");
ImGui::LabelText("Humeur", "jsp");
ImGui::LabelText("Moyenne générale", "20/20");
ImGui::LabelText("Moyenne générale", "%lf", student->moyenneGenerale());
if (ImGui::Button("Revenir"))
Game::removeComponent(this);
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment