#include "CellularAutomaton.h" CellularAutomaton::CellularAutomaton(int width, int height) : m_fieldWidth(width), m_fieldHeight(height) { field.resize(m_fieldHeight, std::vector(m_fieldWidth, 0)); fieldNextState.resize(m_fieldHeight, std::vector(m_fieldWidth, 0)); initializeRandom(); } void CellularAutomaton::initializeRandom() { std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution<> dis(0, 1); for (int y = 0; y < m_fieldHeight; ++y) { for (int x = 0; x < m_fieldWidth; ++x) { field[y][x] = dis(gen); } } } void CellularAutomaton::displayField() const { for (const auto& row : field) { for (const auto& cell : row) { std::cout << (cell ? '1' : '0') << ' '; } std::cout << '\n'; } }