Bonjour, apres un mois d'absence me revoila avec mes problemes malheureusement.
Alors je vous explique, j'ai un jeu a programmé avec une architecture modele/vue (donc classe modele et classe vue) + une autre classe, une classe cellule (avec une matrice, un nombre de lignes et de colonnes).
La vue et le modele ont chacun un pointeur sur la classe cellule mais :
- quand l'utilisateur via un bouton incremente le nombre de lignes ou colonnes (donc par la classe vue), la classe cellule (ou du moins l'entite mais je simplifie car j'en ai marre (2 semaines que sa traine et je viens juste de m'en apercevoir)

), la vue s'incremente bien (car j'utilise des accesseurs) et la classe cellule aussi mais pas le modele qui reste fixé au nombre du depart qui est dans le constructeur de cellule.
- aussi ma matrice de cellule est initialisée a faux via ce code :
Code C/C++ :
vector<vector<bool> > _matrice_cellules_T; // declaration dans cellule.h
_matrice_cellules_T.resize(_nb_lignes, vector<bool>(_nb_colonnes, false));
la vue et l'entite de la classe cellule recoit bien 0 partout (je le vois par l'affichage et la sauvegarde de la matrice dans un fichier texte) mais ce fameux modele me joue encore des tours car lui recoit 1 partout (je l'ai vu car j'ai fait un cout<< et j'ai aussi fait appel a la MEME fonction sauvegarde qui est toujours dans la classe cellule).
Autrement dit le modele qui utilise les memes accesseurs que la vue n'en fait qu'a sa tete.
voici quelques accesseurs de la classe cellule :
Code C/C++ :
//fonction appelée par la vue pour le dessin si renvoi faux on dessine pas de cellule dans cette case sinon une cellule apparait (comme par magie [^^happy3])
bool Cellule::getValeurMatrice(int i, int j)
{
return _matrice_cellules_T[i][j];
}
// les deux suivantes sont appelées par la vue (dans la meme fonction que celle du dessus aussi pour savoir quand arreter de dessiner)
int Cellule::getNBCOLONNES()
{
return _nb_colonnes;
}
int Cellule::getNBLIGNES()
{
return _nb_lignes;
}
//de la meme facon les accesseurs en ecriture appele par la vue lors du clique pour ajouter ou enlever une ligne ou colonne
void Cellule::setNBLIGNES(int nb)
{
_nb_lignes = nb;
}
void Cellule::setNBCOLONNES(int nb)
{
_nb_colonnes = nb;
}
J'espere que vous allez m'aider a ne pas peter un boulon et surtout a comprendre mes erreurs
Merci a tous par avance,
Cyril Z.