diff options
| author | jbzdarkid <jbzdarkid@gmail.com> | 2019-11-16 14:22:39 -0800 |
|---|---|---|
| committer | jbzdarkid <jbzdarkid@gmail.com> | 2019-11-16 14:22:39 -0800 |
| commit | fc8649b12fc1280d81e8dd4d35736ed69c0d9909 (patch) | |
| tree | 7d6686c82dd6d738bdb54eb54d9989a4549cfdb5 /Source/Randomizer2Core.h | |
| parent | 039b48fe49c31f6033a17aabab353b7b7696e11b (diff) | |
| download | witness-tutorializer-fc8649b12fc1280d81e8dd4d35736ed69c0d9909.tar.gz witness-tutorializer-fc8649b12fc1280d81e8dd4d35736ed69c0d9909.tar.bz2 witness-tutorializer-fc8649b12fc1280d81e8dd4d35736ed69c0d9909.zip | |
Keep WIP
Diffstat (limited to 'Source/Randomizer2Core.h')
| -rw-r--r-- | Source/Randomizer2Core.h | 21 |
1 files changed, 21 insertions, 0 deletions
| diff --git a/Source/Randomizer2Core.h b/Source/Randomizer2Core.h new file mode 100644 index 0000000..1b97fba --- /dev/null +++ b/Source/Randomizer2Core.h | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | #pragma once | ||
| 2 | #include <vector> | ||
| 3 | |||
| 4 | struct Pos; | ||
| 5 | class Puzzle; | ||
| 6 | |||
| 7 | class Randomizer2Core { | ||
| 8 | public: | ||
| 9 | // CAUTION: Does not actually cut edges, just returns a list of suggested cuts. | ||
| 10 | // Cuts a number of edges equal to the number of colors in the color grid. | ||
| 11 | static std::vector<Pos> CutEdgesToBeUnique(const Puzzle& p); | ||
| 12 | static void CutEdgesNotOutsideNotBreakingSequence(Puzzle& p, size_t numEdges); | ||
| 13 | |||
| 14 | private: | ||
| 15 | static std::vector<Pos> CutEdgesInternal(const Puzzle& p, std::vector<std::vector<int>>& colorGrid, std::vector<Pos>& edges, size_t numEdges); | ||
| 16 | static void DebugColorGrid(const std::vector<std::vector<int>>& colorGrid); | ||
| 17 | static void FloodFill(const Puzzle& p, std::vector<std::vector<int>>& colorGrid, int color, int x, int y); | ||
| 18 | static void FloodFillOutside(const Puzzle& p, std::vector<std::vector<int>>& colorGrid, int x, int y); | ||
| 19 | static std::tuple<std::vector<std::vector<int>>, int> CreateColorGrid(const Puzzle& p); | ||
| 20 | }; | ||
| 21 | |||
