fillAternately fixed

This commit is contained in:
Martin Euzenat 2024-01-20 01:16:30 -05:00
parent 43e1307497
commit d718d67d35

View File

@ -108,10 +108,22 @@ void GridTeamH::fill(CellType value)
void GridTeamH::fillAternately(CellType initValue) void GridTeamH::fillAternately(CellType initValue)
{ {
// Détermine la valeur opposée à initValue
auto otherValue = (initValue == CellType::alive) ? CellType::dead : CellType::alive; auto otherValue = (initValue == CellType::alive) ? CellType::dead : CellType::alive;
for (size_t i{}; i < mData.size(); i++)
mData[i] = !(i % 2) ? initValue : otherValue; // Boucle pour parcourir chaque ligne de la grille
for (size_t row = 0; row < mHeight; row++) {
// Boucle pour parcourir chaque colonne de la grille
for (size_t col = 0; col < mWidth; col++) {
// Calcul de l'index dans la grille bidimensionnelle
size_t index = row * mWidth + col;
// Alternance de la valeur pour chaque cellule
// Si la colonne est paire, la valeur est initValue, sinon otherValue
mData[index] = (col % 2 == 0) ? initValue : otherValue;
}
}
} }
void GridTeamH::randomize(double percentAlive) void GridTeamH::randomize(double percentAlive)