git repos / sago_multi_scrambler_puzzle2

commit 65c45d7d

Poul Sander · 2025-11-11 22:43
65c45d7d323af51631d0a74cd27cdc409f504911 patch · browse files
parent b5567fcd8be1224f406d31db4b84589427cdebb2

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;