diff options
author | jbzdarkid <jbzdarkid@gmail.com> | 2019-11-25 18:02:59 -0800 |
---|---|---|
committer | jbzdarkid <jbzdarkid@gmail.com> | 2019-11-25 18:02:59 -0800 |
commit | 50992a6ab44321fe925c2becaa856a31696076ea (patch) | |
tree | 1a8e51b5fc37666f94a6b062de52a424a66b9cce /Source/Randomizer2.cpp | |
parent | 81fa5933d23db320934d168329b818b1868eeb6c (diff) | |
download | witness-tutorializer-50992a6ab44321fe925c2becaa856a31696076ea.tar.gz witness-tutorializer-50992a6ab44321fe925c2becaa856a31696076ea.tar.bz2 witness-tutorializer-50992a6ab44321fe925c2becaa856a31696076ea.zip |
Simplified / added two more
Diffstat (limited to 'Source/Randomizer2.cpp')
-rw-r--r-- | Source/Randomizer2.cpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Source/Randomizer2.cpp b/Source/Randomizer2.cpp index 107950d..d2046bb 100644 --- a/Source/Randomizer2.cpp +++ b/Source/Randomizer2.cpp | |||
@@ -208,6 +208,53 @@ void Randomizer2::RandomizeSymmetry() { | |||
208 | 208 | ||
209 | _serializer.WritePuzzle(p, 0x59); | 209 | _serializer.WritePuzzle(p, 0x59); |
210 | } | 210 | } |
211 | { // Back wall 4 | ||
212 | Puzzle p; | ||
213 | p.NewGrid(5, 8); | ||
214 | p.symmetry = Puzzle::Symmetry::X; | ||
215 | p.grid[2][16].start = true; | ||
216 | p.grid[8][16].start = true; | ||
217 | p.grid[4][0].end = Cell::Dir::UP; | ||
218 | p.grid[6][0].end = Cell::Dir::UP; | ||
219 | std::vector<Pos> cutEdges = Randomizer2Core::CutSymmetricalEdgePairs(p, 15); | ||
220 | for (int i=0; i<cutEdges.size(); i++) { | ||
221 | Pos pos = cutEdges[i]; | ||
222 | if (i%2 == 0) { | ||
223 | p.grid[pos.x][pos.y].gap = Cell::Gap::BREAK; | ||
224 | } else { | ||
225 | Pos sym = p.GetSymmetricalPos(pos.x, pos.y); | ||
226 | p.grid[sym.x][sym.y].gap = Cell::Gap::BREAK; | ||
227 | } | ||
228 | } | ||
229 | |||
230 | _serializer.WritePuzzle(p, 0x62); | ||
231 | } | ||
232 | { // Back wall 5 | ||
233 | Puzzle p; | ||
234 | p.NewGrid(11, 8); | ||
235 | p.symmetry = Puzzle::Symmetry::X; | ||
236 | p.grid[0][16].start = true; | ||
237 | p.grid[10][16].start = true; | ||
238 | p.grid[12][16].start = true; | ||
239 | p.grid[22][16].start = true; | ||
240 | p.grid[2][0].end = Cell::Dir::UP; | ||
241 | p.grid[8][0].end = Cell::Dir::UP; | ||
242 | p.grid[14][0].end = Cell::Dir::UP; | ||
243 | p.grid[20][0].end = Cell::Dir::UP; | ||
244 | |||
245 | Puzzle q; | ||
246 | q.NewGrid(5, 8); | ||
247 | q.symmetry = Puzzle::Symmetry::X; | ||
248 | |||
249 | for (Pos pos : Randomizer2Core::CutSymmetricalEdgePairs(q, 16)) { | ||
250 | p.grid[pos.x][pos.y].gap = Cell::Gap::BREAK; | ||
251 | } | ||
252 | for (Pos pos : Randomizer2Core::CutSymmetricalEdgePairs(q, 16)) { | ||
253 | p.grid[pos.x + 12][pos.y].gap = Cell::Gap::BREAK; | ||
254 | } | ||
255 | |||
256 | _serializer.WritePuzzle(p, 0x5C); | ||
257 | } | ||
211 | } | 258 | } |
212 | 259 | ||
213 | void Randomizer2::RandomizeKeep() { | 260 | void Randomizer2::RandomizeKeep() { |