diff options
| author | Elizabeth Alexander Hunt <me@liz.coffee> | 2026-07-02 11:55:17 -0700 |
|---|---|---|
| committer | Elizabeth Alexander Hunt <me@liz.coffee> | 2026-07-02 11:55:17 -0700 |
| commit | 6bf4b90c90f15f4ab60833bddf5b5756d1a6b1f6 (patch) | |
| tree | ed97e39ec77c5231ffd2c394493e68d00ddac5a4 /Homework/cs3460/gameoflife/RendererConsole.hpp | |
| download | misc-undergrad-6bf4b90c90f15f4ab60833bddf5b5756d1a6b1f6.tar.gz misc-undergrad-6bf4b90c90f15f4ab60833bddf5b5756d1a6b1f6.zip | |
Diffstat (limited to 'Homework/cs3460/gameoflife/RendererConsole.hpp')
| -rw-r--r-- | Homework/cs3460/gameoflife/RendererConsole.hpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Homework/cs3460/gameoflife/RendererConsole.hpp b/Homework/cs3460/gameoflife/RendererConsole.hpp new file mode 100644 index 0000000..3bbd3db --- /dev/null +++ b/Homework/cs3460/gameoflife/RendererConsole.hpp @@ -0,0 +1,29 @@ +#include "LifeSimulator.hpp" +#include "Renderer.hpp" +#include "rlutil.h" + +#include <array> +#include <map> + +#ifndef RENDERERCONSOLE_HPP + #define RENDERERCONSOLE_HPP + +class RendererConsole : public Renderer +{ + private: + std::map<std::pair<std::uint8_t, std::uint8_t>, std::uint8_t> m_previouslyAliveLength; + + public: + static constexpr std::uint8_t MAX_ALIVE = 4; + static constexpr std::array<std::pair<std::uint8_t, std::uint8_t>, 4> PRINT_PER_LIFESPAN{ + { + { '8', rlutil::GREEN }, + { '+', rlutil::BLUE }, + { '-', rlutil::YELLOW }, + { '\'', rlutil::RED }, + } + }; + virtual void render(const LifeSimulator& simulation); +}; + +#endif // RENDERERCONSOLE_HPP |
