diff options
Diffstat (limited to 'Source/Randomizer2.cpp')
| -rw-r--r-- | Source/Randomizer2.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
| diff --git a/Source/Randomizer2.cpp b/Source/Randomizer2.cpp index 00b584e..e4f2b9f 100644 --- a/Source/Randomizer2.cpp +++ b/Source/Randomizer2.cpp | |||
| @@ -14,6 +14,7 @@ Randomizer2::Randomizer2(const std::shared_ptr<Memory>& memory) : _memory(memory | |||
| 14 | 14 | ||
| 15 | void Randomizer2::Randomize() { | 15 | void Randomizer2::Randomize() { |
| 16 | RandomizeTutorial(); | 16 | RandomizeTutorial(); |
| 17 | RandomizeSymmetry(); | ||
| 17 | // RandomizeKeep(); | 18 | // RandomizeKeep(); |
| 18 | } | 19 | } |
| 19 | 20 | ||
| @@ -105,44 +106,44 @@ void Randomizer2::RandomizeTutorial() { | |||
| 105 | x = 1; | 106 | x = 1; |
| 106 | y = 1; | 107 | y = 1; |
| 107 | toTheRight = true; | 108 | toTheRight = true; |
| 108 | cuts.emplace_back(Pos{0, 1}); | 109 | cuts.emplace_back(0, 1); |
| 109 | break; | 110 | break; |
| 110 | case 2: | 111 | case 2: |
| 111 | x = 1; | 112 | x = 1; |
| 112 | y = 1; | 113 | y = 1; |
| 113 | toTheRight = true; | 114 | toTheRight = true; |
| 114 | cuts.emplace_back(Pos{1, 0}); | 115 | cuts.emplace_back(1, 0); |
| 115 | break; | 116 | break; |
| 116 | case 3: | 117 | case 3: |
| 117 | x = 11; | 118 | x = 11; |
| 118 | y = 1; | 119 | y = 1; |
| 119 | toTheRight = false; | 120 | toTheRight = false; |
| 120 | cuts.emplace_back(Pos{12, 1}); | 121 | cuts.emplace_back(12, 1); |
| 121 | break; | 122 | break; |
| 122 | case 4: | 123 | case 4: |
| 123 | x = 11; | 124 | x = 11; |
| 124 | y = 1; | 125 | y = 1; |
| 125 | toTheRight = false; | 126 | toTheRight = false; |
| 126 | cuts.emplace_back(Pos{11, 0}); | 127 | cuts.emplace_back(11, 0); |
| 127 | break; | 128 | break; |
| 128 | } | 129 | } |
| 129 | while (y < p.height) { // The final cut will push y below the bottom of the puzzle, which means we're done. | 130 | while (y < p.height) { // The final cut will push y below the bottom of the puzzle, which means we're done. |
| 130 | switch (Random::RandInt(1, 4)) { | 131 | switch (Random::RandInt(1, 4)) { |
| 131 | case 1: // Go right | 132 | case 1: // Go right |
| 132 | if (x < p.width-2) { | 133 | if (x < p.width-2) { |
| 133 | cuts.emplace_back(Pos{x+1, y}); | 134 | cuts.emplace_back(x+1, y); |
| 134 | x += 2; | 135 | x += 2; |
| 135 | } | 136 | } |
| 136 | break; | 137 | break; |
| 137 | case 2: // Go left | 138 | case 2: // Go left |
| 138 | if (x > 1) { | 139 | if (x > 1) { |
| 139 | cuts.emplace_back(Pos{x-1, y}); | 140 | cuts.emplace_back(x-1, y); |
| 140 | x -= 2; | 141 | x -= 2; |
| 141 | } | 142 | } |
| 142 | break; | 143 | break; |
| 143 | case 3: | 144 | case 3: |
| 144 | case 4: // Go down (biased) | 145 | case 4: // Go down (biased) |
| 145 | cuts.emplace_back(Pos{x, y+1}); | 146 | cuts.emplace_back(x, y+1); |
| 146 | y += 2; | 147 | y += 2; |
| 147 | break; | 148 | break; |
| 148 | } | 149 | } |
| @@ -159,6 +160,12 @@ void Randomizer2::RandomizeTutorial() { | |||
| 159 | } | 160 | } |
| 160 | } | 161 | } |
| 161 | 162 | ||
| 163 | void Randomizer2::RandomizeSymmetry() { | ||
| 164 | { // | ||
| 165 | |||
| 166 | } | ||
| 167 | } | ||
| 168 | |||
| 162 | void Randomizer2::RandomizeKeep() { | 169 | void Randomizer2::RandomizeKeep() { |
| 163 | { // Hedges 1 | 170 | { // Hedges 1 |
| 164 | Puzzle p; | 171 | Puzzle p; |
