forked from geoffreyPerrin/AutoCell
-
Notifications
You must be signed in to change notification settings - Fork 0
/
etat.h
53 lines (46 loc) · 1.18 KB
/
etat.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include<QVector>
#ifndef ETAT_H
#define ETAT_H
/*!
* \brief Cette classe est une classe servant à stocker la matrice d'un automate cellulaire.
*/
class Etat
{
/*!
* \brief matrice de integer contenant l'état de chaque cellule
*/
QVector< QVector <int> > matrice;
public:
Etat():matrice(0){}
/*!
* \brief Constructeur d'Etat construisant une mamtrice de hauteur et largeur passées en paramètre
* \param width : largeur
* \param height : hauteur
*/
Etat(int width, int height):matrice(width){
for(int i = 0; i < matrice.size(); i++)
matrice[i].resize(height);
}
/*!
* \brief redimmensionne la matrice à une certaine taiile
*/
void setSize(int, int);
const QVector<QVector<int> >& getMatrice() const{return matrice;}
void setMatrice(const QVector<QVector<int> > &value);
/*!
* \brief affecte une valeur à une case de la matrice
* \param x : numéro de ligne
* \param y : numéro de colonne
* \param val : valeur
*/
void setValue(int x, int y, int val);
/*!
* \brief Rajoute une colonne à la fin de la matrice
*/
void pushBack(int);
/*!
* \brief Rajoute une colonne au début de la matrice
*/
void pushFront(int);
};
#endif // ETAT_H