commit 65c45d7d
Make sure that the puzzle is still solvable when switching from flop mode to shuffle mode
Changed files
| M | src/PuzzleSingleImageState.cpp before |
diff --git a/src/PuzzleSingleImageState.cpp b/src/PuzzleSingleImageState.cpp
index f02fc62..b85d409 100644
--- a/src/PuzzleSingleImageState.cpp
+++ b/src/PuzzleSingleImageState.cpp
@@ -319,12 +319,15 @@ void PuzzleSingleImageState::Shuffle() {
for (size_t i = 0; i< shuffeled_pieces.size(); ++i) {
shuffeled_pieces.at(i) = i;
}
- if (flipMode) {
- for (size_t i = 0; i< shuffeled_pieces.size(); ++i) {
+ for (size_t i = 0; i< shuffeled_pieces.size(); ++i) {
+ if (flipMode) {
rotated_pieces.at(i) = rand()%4;
}
+ else {
+ rotated_pieces.at(i) = 0;
+ }
}
- else {
+ if (!flipMode) {
for (int i = 0 ; i < 100; ++i) {
size_t first = rand()%number_of_peices;
size_t second = rand()%number_of_peices;