From 6bf4b90c90f15f4ab60833bddf5b5756d1a6b1f6 Mon Sep 17 00:00:00 2001 From: Elizabeth Alexander Hunt Date: Thu, 2 Jul 2026 11:55:17 -0700 Subject: Init --- Homework/cs3460/gameoflife/LifeSimulator.hpp | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Homework/cs3460/gameoflife/LifeSimulator.hpp (limited to 'Homework/cs3460/gameoflife/LifeSimulator.hpp') diff --git a/Homework/cs3460/gameoflife/LifeSimulator.hpp b/Homework/cs3460/gameoflife/LifeSimulator.hpp new file mode 100644 index 0000000..38e086b --- /dev/null +++ b/Homework/cs3460/gameoflife/LifeSimulator.hpp @@ -0,0 +1,35 @@ +#include "Pattern.hpp" + +#include +#include +#include +#include +#include +#include + +#ifndef LIFESIMULATOR_HPP + #define LIFESIMULATOR_HPP + +class LifeSimulator +{ + private: + std::uint8_t m_width; + std::uint8_t m_height; + + std::vector> m_curr_grid; + std::vector> m_buff_grid; + + std::uint8_t getNeighbors(std::uint8_t x, std::uint8_t y) const; + + public: + LifeSimulator(std::uint8_t sizeX, std::uint8_t sizeY); + + void insertPattern(const Pattern& pattern, std::uint8_t startX, std::uint8_t startY); + void update(); + + std::uint8_t getSizeX() const; + std::uint8_t getSizeY() const; + bool getCell(std::uint8_t x, std::uint8_t y) const; +}; + +#endif // LIFESIMULATOR_HPP -- cgit v1.3