pattern apparait. Toujours un problème de gestion de mémoire qui fait planter. Surement un delete[]à faire

This commit is contained in:
LerPetitCarcajou 2024-02-01 10:08:25 -05:00
parent 34853011cd
commit e52a998e84

View File

@ -355,7 +355,6 @@ bool GOLTeamH::setFromPattern(std::string const& pattern)
fillDataFromPattern(pattern, sq.value(),centerX+1, centerY+1); fillDataFromPattern(pattern, sq.value(),centerX+1, centerY+1);
mIteration = 0; mIteration = 0;
countLifeStatusCells(); countLifeStatusCells();
return true; return true;
@ -564,14 +563,9 @@ void GOLTeamH::fillDataFromPattern(std::string const& pattern, sizeQueried& sq,
// Coordonnées dans la grille de destination // Coordonnées dans la grille de destination
int destX = centerX + x; int destX = centerX + x;
int destY = centerY + y; int destY = centerY + y;
/*if (centerX - sq.width / 2 + x <0
|| centerX - sq.width / 2 + x > mData.width()
|| centerY - sq.height / 2 + x <0
|| centerY - sq.height / 2 + x > mData.height()) {
continue;
}*/
// Vérifier si les coordonnées sont dans la grille // Vérifier si les coordonnées sont dans la grille
if (destX >= 0 || destX < mData.width()-1 || destY >= 0 || destY < mData.height()-1) { if (destX >= 0 || destX < mData.width() || destY >= 0 || destY < mData.height()) {
// On remplit la grille avec les valeurs du pattern // On remplit la grille avec les valeurs du pattern
State cellState = (sq.pos[(y * sq.width) + x] == '0') ? State::dead : State::alive; State cellState = (sq.pos[(y * sq.width) + x] == '0') ? State::dead : State::alive;
mData.setAt(destX, destY, cellState); mData.setAt(destX, destY, cellState);
@ -582,6 +576,7 @@ void GOLTeamH::fillDataFromPattern(std::string const& pattern, sizeQueried& sq,
} }
} }
} }
void GOLTeamH::countLifeStatusCells() void GOLTeamH::countLifeStatusCells()