#pragma once #include "card.hpp" #include "goal.hpp" #include #include #include namespace solitaire { struct BunkerField { std::optional card; bool empty{}; bool closed{}; }; inline constexpr int MAX_ROW_SIZE = 13; inline constexpr int MAX_COLUMN_SIZE = 8; class Stack { std::array, MAX_COLUMN_SIZE> values{}; }; struct Board { std::array field{}; std::array bunker{}; Goal goal{}; bool flower_gone{}; [[nodiscard]] auto solved() const noexcept -> bool; [[nodiscard]] auto hash() const noexcept -> std::size_t; [[nodiscard]] auto correct() const noexcept -> bool; }; } // namespace solitaire