Verified Commit da605f89 authored by Romain De Laage De Bellefaye's avatar Romain De Laage De Bellefaye 🌳
Browse files

Merge branch 'master' of gitlab.utc.fr:rdelaage/lo21-projet

parents e48051ca fa60fca4
......@@ -3,7 +3,7 @@
class Regle {
int* seuil[8]; //seuil : valeurs minimales pour chacun des états dans le voisinage pour valider la règle en question
int* seuil[8]; //seuil : valeurs minimales pour chacun des états dans le voisinage pour valider la règle en question
Etat destination;
public:
bool verify(Voisinage& voisins) const;
......
......@@ -46,7 +46,11 @@ AutoCell::AutoCell(QWidget* parent):QWidget(parent)
win_model_choice->setStyleSheet("background-color: rgb(204, 209, 209)");
win_model_choice->setFixedSize(300, 100);
lab_model_choice = new QLabel("Choisir un modèle dans la liste :", win_model_choice);
lab_model_choice = new QLabel("Choisir un modèle dans la liste ou \nen paramétrer un nouveau :", win_model_choice);
button_add_model = new QPushButton("Ajouter un modèle");
button_add_model->setStyleSheet("background-color : rgb(251, 252, 252 )");
button_add_model->setFixedWidth(140);
liste = new QComboBox(win_model_choice);
liste->addItem("modèle 1");
......@@ -54,12 +58,14 @@ AutoCell::AutoCell(QWidget* parent):QWidget(parent)
liste->addItem("modèle 3");
liste->addItem("modèle 4");
liste->setStyleSheet("background-color : rgb(251, 252, 252 )");
liste->setFixedWidth(140);
connect(liste,SIGNAL(currentIndexChanged(int)),this,SLOT(RAZ()));
grid_model_choice = new QGridLayout(win_model_choice);
grid_model_choice->addWidget(lab_model_choice, 0, 0, 1, 2);
grid_model_choice->addWidget(liste, 1,0,3,1);
grid_model_choice->addWidget(liste, 1,0,1,1);
grid_model_choice->addWidget(button_add_model,1,1);
general->addWidget(win_model_choice,0,0);
......@@ -80,7 +86,6 @@ AutoCell::AutoCell(QWidget* parent):QWidget(parent)
list_grids = new QComboBox;
check_load_grid = new QCheckBox;
edit_largeur = new QLineEdit;
edit_largeur->setFixedWidth(30);
edit_hauteur= new QLineEdit;
......@@ -99,16 +104,51 @@ AutoCell::AutoCell(QWidget* parent):QWidget(parent)
form_config->addRow(tr("Hauteur :"), edit_hauteur);
form_config->addRow(tr("Remplissage aléatoire"), check_aleatoire);
form_init->addWidget(lab_init,0,0);
form_init->addWidget(lab_init,0,0,1,3);
general->addWidget(win_init,0,1,1,2);
//définition de la frame "panneau de contrôle de l'exécution"
win_run_ctrl = new QWidget;
lab_run_crtl = new QLabel("Outils de contrôle :", win_run_ctrl);
win_run_ctrl->setFixedWidth(300);
lab_run_crtl = new QLabel("Outils de contrôle :");
win_run_ctrl->setStyleSheet("background-color: rgb(174, 182, 191)");
grid_run_control = new QGridLayout(win_run_ctrl);
grid_run_control->setColumnMinimumWidth(1,100);
grid_run_control->setColumnMinimumWidth(2,100);
grid_run_control->setRowMinimumHeight(3,400);
grid_run_control->addWidget(lab_run_crtl, 0,0,1,3);
lab_time_step = new QLabel("Pas de temps : ");
edit_time_step = new QLineEdit;
edit_time_step->setStyleSheet("background-color: rgb(255,255,255)");
edit_time_step->setFixedWidth(30);
edit_time_step->setText("1"); //valeur par défaut pour le pas de temps
button_prev = new QPushButton("<<");
button_prev->setStyleSheet("background-color: rgb(255,255,255)");
button_prev->setFixedSize(40,40);
button_run = new QPushButton("RUN");
button_run->setFixedSize(40,40);
button_run->setStyleSheet("background-color: rgb(255,255,255)");
button_next = new QPushButton(">>");
button_next->setFixedSize(40,40);
button_next->setStyleSheet("background-color: rgb(255,255,255)");
grid_run_control->addWidget(lab_time_step, 1, 0);
grid_run_control->addWidget(edit_time_step, 1, 1);
grid_run_control->addWidget(button_prev, 2, 0);
grid_run_control->addWidget(button_run, 2, 1);
grid_run_control->addWidget(button_next, 2, 2);
button_save_grid = new QPushButton("sauvegarder la grille");
grid_run_control->addWidget(button_save_grid,3,1,4,3,Qt::AlignBottom);
general->addWidget(win_run_ctrl,1,0,2,1);
//définition de la frame affichage de la grille
......@@ -211,7 +251,8 @@ void AutoCell::RAZ(){
grid = new QTableWidget(0,0,win_grid);
edit_largeur->setText("");
edit_hauteur->setText("");
}
edit_time_step->setText("1");
;}
void AutoCell::modifierCellule(const QModelIndex& index) {
unsigned int i = index.row();
......
......@@ -36,8 +36,9 @@ class AutoCell : public QWidget
//définition de la frame choix du modèle
QWidget* win_model_choice;
QLabel* lab_model_choice;
QComboBox *liste;
QGridLayout *grid_model_choice;
QComboBox* liste;
QGridLayout* grid_model_choice;
QPushButton* button_add_model;
//définition de la frame initialisation
QWidget* win_init;
......@@ -59,6 +60,16 @@ class AutoCell : public QWidget
QWidget* win_run_ctrl;
QLabel* lab_run_crtl;
QGridLayout* grid_run_control;
QLabel* lab_time_step;
QLineEdit* edit_time_step;
QPushButton* button_prev;
QPushButton* button_run;
QPushButton* button_next;
QPushButton* button_save_grid;
//définition de la frame affichage de la grille
QWidget* win_grid;
QTableWidget* grid;
......
#include "GUI/autocell.h"
#include "reseau_cellule_etats.h"
#include "./Reseau_Cellule_Etat/reseau_cellule_etats.h"
#include "./GUI/autocell.h"
#include <QApplication>
#include <QPushButton>
......@@ -19,25 +19,30 @@ using namespace std;
EnsembleEtat &enseEtats = EnsembleEtat::getInstance();
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
EnsembleEtat &enseEtats = EnsembleEtat::getInstance();
enseEtats.ajouterEtat(0, "vivant", 100, 30, 22);
enseEtats.ajouterEtat(1, "mort", 236, 240, 21);
enseEtats.ajouterEtat(0, "vivant", 239, 239, 239);
enseEtats.ajouterEtat(1, "mort", 90, 94, 107);
enseEtats.ajouterEtat(2, "zombie", 131, 166, 151);
enseEtats.ajouterEtat(3, "fantôme", 22, 166, 151);
int largeur = 15;
int hauteur = 12;
//int largeur = 15;
//int hauteur = 12;
Reseau Grille(hauteur, largeur);
//Reseau Grille(hauteur, largeur);
//Grille.setAleatoire();
AutoCell autocell;
autocell.afficherGrille(&Grille);
//autocell.afficherGrille(&Grille);
autocell.show();
return app.exec();
}
......@@ -29,9 +29,9 @@ private:
std::string label;
QColor color;
Etat(unsigned int ind, std::string lab, int r = 0, int g = 0, int b = 0):
indice(ind),label(lab),color(r,g,b){};
indice(ind),label(lab),color(r,g,b){}
Etat(unsigned int ind, std::string lab, QColor col):
indice(ind),label(lab),color(col){};//constructeur privé (l'utilisateur ne doit pas pouvoir créer un Etat par ce biais)
indice(ind),label(lab),color(col){} //constructeur privé (l'utilisateur ne doit pas pouvoir créer un Etat par ce biais)
friend class EnsembleEtat;
public:
......
Supports Markdown
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