about summary refs log tree commit diff stats
path: root/ext/wittle_generator
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-01-14 21:19:44 -0500
committerStar Rauchenberger <fefferburbia@gmail.com>2025-01-14 21:19:44 -0500
commitfe0f2e5a2220223f4fd617340b98729fd3888075 (patch)
tree9a1581caa63936006390fb108f8cf29fd8a48ba5 /ext/wittle_generator
parent0822404cf75fb6ad04faf55861faaf8330effa59 (diff)
downloadwittle-fe0f2e5a2220223f4fd617340b98729fd3888075.tar.gz
wittle-fe0f2e5a2220223f4fd617340b98729fd3888075.tar.bz2
wittle-fe0f2e5a2220223f4fd617340b98729fd3888075.zip
Added some puzzles from Variety randomizer
Diffstat (limited to 'ext/wittle_generator')
-rw-r--r--ext/wittle_generator/PuzzlesetEasy.cpp13
-rw-r--r--ext/wittle_generator/PuzzlesetHard.cpp95
-rw-r--r--ext/wittle_generator/PuzzlesetMedium.cpp112
3 files changed, 220 insertions, 0 deletions
diff --git a/ext/wittle_generator/PuzzlesetEasy.cpp b/ext/wittle_generator/PuzzlesetEasy.cpp index 4e2f84f..d5a6ea3 100644 --- a/ext/wittle_generator/PuzzlesetEasy.cpp +++ b/ext/wittle_generator/PuzzlesetEasy.cpp
@@ -373,6 +373,19 @@ const std::vector<std::function<void(Generate&)>>& GetEasyPuzzles() {
373 {Decoration::Start, 2}, 373 {Decoration::Start, 2},
374 {Decoration::Exit, 1}}}); 374 {Decoration::Exit, 1}}});
375 }, 375 },
376 [](Generate& generator) {
377 generator.setFlag(Generate::RegularStartEnd);
378 generator.setFlag(Generate::FullGaps);
379 generator.generate(4, 4,
380 {{{Decoration::Gap, 7}, {Decoration::Dot, 9}}});
381 },
382 [](Generate& generator) {
383 generator.setFlag(Generate::RegularStartEnd);
384 generator.generate(5, 5,
385 {{{Decoration::Stone | Decoration::Color::Black, 5},
386 {Decoration::Stone | Decoration::Color::White, 7},
387 {Decoration::Dot, 7}}});
388 },
376 }; 389 };
377 390
378 return generator_fns; 391 return generator_fns;
diff --git a/ext/wittle_generator/PuzzlesetHard.cpp b/ext/wittle_generator/PuzzlesetHard.cpp index c775d64..8958456 100644 --- a/ext/wittle_generator/PuzzlesetHard.cpp +++ b/ext/wittle_generator/PuzzlesetHard.cpp
@@ -927,6 +927,101 @@ const std::vector<std::function<void(Generate&)>>& GetHardPuzzles() {
927 {Decoration::Star | Decoration::Color::Orange, 4}, 927 {Decoration::Star | Decoration::Color::Orange, 4},
928 {Decoration::Star | Decoration::Color::Magenta, 5}}}); 928 {Decoration::Star | Decoration::Color::Magenta, 5}}});
929 }, 929 },
930 [](Generate& generator) {
931 generator.setGridSize(7, 7);
932 generator.setSymmetry(Panel::Symmetry::Rotational);
933 generator.setSymbol(Decoration::Exit, 0, 0);
934 generator.setSymbol(Decoration::Exit, 14, 14);
935 generator.setSymbol(Decoration::Exit, 14, 0);
936 generator.setSymbol(Decoration::Exit, 0, 14);
937 generator.setSymbol(Decoration::Start, 2, 2);
938 generator.setSymbol(Decoration::Start, 12, 12);
939 generator.setSymbol(Decoration::Start, 4, 4);
940 generator.setSymbol(Decoration::Start, 10, 10);
941 generator.setSymbol(Decoration::Start, 6, 6);
942 generator.setSymbol(Decoration::Start, 8, 8);
943 generator.generate(
944 7, 7,
945 {{{Decoration::Stone | Decoration::Color::Magenta, 7},
946 {Decoration::Stone | Decoration::Color::Black, 7},
947 {Decoration::Dot, 6}}});
948 },
949 [](Generate& generator) {
950 generator.setSymbol(Decoration::Start, 0, 0);
951 generator.setSymbol(Decoration::Start, 5 * 2, 5 * 2);
952 generator.setSymbol(Decoration::Exit, 2 * 2, 0);
953 generator.setSymbol(Decoration::Exit, 2 * 2, 5 * 2);
954 generator.generate(
955 5, 5,
956 {{{Decoration::Eraser | Decoration::Color::White, 1},
957 {Decoration::Star | Decoration::Color::White, 5},
958 {Decoration::Star | Decoration::Color::Black, 6},
959 {Decoration::Star | Decoration::Color::Orange, 6}}});
960 },
961 [](Generate& generator) {
962 generator.setFlag(Generate::DisconnectShapes);
963 generator.setFlag(Generate::RegularStartEnd);
964 generator.generate(5, 5,
965 {{{Decoration::Poly | Decoration::Can_Rotate |
966 Decoration::Color::Yellow,
967 3},
968 {Decoration::Dot, 7}}});
969 },
970 [](Generate& generator) {
971 generator.setFlag(Generate::RegularStartEnd);
972 generator.generate(
973 5, 5,
974 {{{Decoration::Eraser | Decoration::Color::Magenta, 1},
975 {Decoration::Eraser | Decoration::Color::Green, 1},
976 {Decoration::Dot, 3},
977 {Decoration::Stone | Decoration::Color::Magenta, 1},
978 {Decoration::Stone | Decoration::Color::Green, 1},
979 {Decoration::Star | Decoration::Color::Magenta, 1},
980 {Decoration::Star | Decoration::Color::Green, 1},
981 {Decoration::Poly | Decoration::Color::Green, 2},
982 {Decoration::Poly | Decoration::Negative |
983 Decoration::Color::Magenta,
984 2}}});
985 },
986 [](Generate& generator) {
987 generator.setFlag(Generate::RegularStartEnd);
988 generator.generate(
989 5, 5,
990 {{{Decoration::Triangle | Decoration::Color::Green, 3},
991 {Decoration::Star | Decoration::Color::Green, 5},
992 {Decoration::Poly | Decoration::Color::Green, 3}}});
993 },
994 [](Generate& generator) {
995 generator.setFlag(Generate::RegularStartEnd);
996 generator.generate(
997 4, 4,
998 {{{Decoration::Triangle2 | Decoration::Color::Orange, 7},
999 {Decoration::Dot, 9}}});
1000 },
1001 [](Generate& generator) {
1002 generator.generate(
1003 6, 6,
1004 {{{Decoration::Triangle | Decoration::Color::Orange, 11},
1005 {Decoration::Dot, 11},
1006 {Decoration::Start, 3},
1007 {Decoration::Exit, 1}}});
1008 },
1009 [](Generate& generator) {
1010 generator.setSymbol(Decoration::Start, 2 * 2, 5 * 2);
1011 generator.setSymbol(Decoration::Exit, 2 * 2, 0);
1012 generator.generate(
1013 5, 5,
1014 {{{Decoration::Stone | Decoration::Color::Black, 6},
1015 {Decoration::Star | Decoration::Color::Black, 6},
1016 {Decoration::Poly | Decoration::Color::Black, 3}}});
1017 },
1018 [](Generate& generator) {
1019 generator.setSymbol(Decoration::Start, 5, 0);
1020 generator.setSymbol(Decoration::Exit, 5, 12);
1021 generator.generate(5, 6,
1022 {{{Decoration::Poly | Decoration::Color::Yellow, 4},
1023 {Decoration::Dot, 5}}});
1024 },
930 }; 1025 };
931 1026
932 return generator_fns; 1027 return generator_fns;
diff --git a/ext/wittle_generator/PuzzlesetMedium.cpp b/ext/wittle_generator/PuzzlesetMedium.cpp index afc7e45..8e768d1 100644 --- a/ext/wittle_generator/PuzzlesetMedium.cpp +++ b/ext/wittle_generator/PuzzlesetMedium.cpp
@@ -590,6 +590,118 @@ const std::vector<std::function<void(Generate&)>>& GetMediumPuzzles() {
590 1}, 590 1},
591 {Decoration::Poly | Decoration::Orange, 1}}}); 591 {Decoration::Poly | Decoration::Orange, 1}}});
592 }, 592 },
593 [](Generate& generator) {
594 generator.setFlag(Generate::FullGaps);
595 generator.setSymbol(Decoration::Start, 4 * 2, 4 * 2);
596 generator.setSymbol(Decoration::Exit, 2 * 2, 0);
597 generator.generate(
598 5, 5,
599 {{{Decoration::Gap, 7},
600 {Decoration::Stone | Decoration::Color::Black, 5},
601 {Decoration::Stone | Decoration::Color::Magenta, 6}}});
602 },
603 [](Generate& generator) {
604 generator.setFlag(Generate::FullGaps);
605 generator.setFlag(Generate::RegularStartEnd);
606 generator.generate(
607 6, 6,
608 {{{Decoration::Gap, 11},
609 {Decoration::Star | Decoration::Color::Black, 6},
610 {Decoration::Star | Decoration::Color::Magenta, 6}}});
611 },
612 [](Generate& generator) {
613 generator.generate(
614 4, 4,
615 {{{Decoration::Start, 1},
616 {Decoration::Exit, 1},
617 {Decoration::Dot_Intersection, 25},
618 {Decoration::Stone | Decoration::Color::Black, 3},
619 {Decoration::Stone | Decoration::Color::Magenta, 3}}});
620 },
621 [](Generate& generator) {
622 generator.generate(
623 4, 4,
624 {{{Decoration::Start, 1},
625 {Decoration::Exit, 1},
626 {Decoration::Dot_Intersection, 25},
627 {Decoration::Star | Decoration::Color::Black, 4},
628 {Decoration::Star | Decoration::Color::White, 2}}});
629 },
630 [](Generate& generator) {
631 generator.generate(4, 4,
632 {{{Decoration::Start, 1},
633 {Decoration::Exit, 1},
634 {Decoration::Dot_Intersection, 25},
635 {Decoration::Poly | Decoration::Color::Black, 2},
636 {Decoration::Poly | Decoration::Negative |
637 Decoration::Color::Magenta,
638 2}}});
639 },
640 [](Generate& generator) {
641 generator.generate(
642 4, 4,
643 {{{Decoration::Start, 1},
644 {Decoration::Exit, 1},
645 {Decoration::Dot_Intersection, 25},
646 {Decoration::Eraser | Decoration::Color::Black, 1},
647 {Decoration::Star | Decoration::Color::Black, 3},
648 {Decoration::Stone | Decoration::Color::Black, 3}}});
649 },
650 [](Generate& generator) {
651 generator.setFlag(Generate::RegularStartEnd);
652 generator.setFlag(Generate::RequireCombineShapes);
653 generator.generate(4, 4,
654 {{{Decoration::Eraser, 1},
655 {Decoration::Poly | Decoration::Color::Yellow, 3},
656 {Decoration::Gap, 5}}});
657 },
658 [](Generate& generator) {
659 generator.setFlag(Generate::RegularStartEnd);
660 generator.generate(
661 4, 4,
662 {{{Decoration::Dot, 9},
663 {Decoration::Eraser | Decoration::Color::Green, 2}}});
664 },
665 [](Generate& generator) {
666 generator.setFlag(Generate::RegularStartEnd);
667 generator.generate(
668 4, 4,
669 {{{Decoration::Dot, 11},
670 {Decoration::Eraser | Decoration::Color::Green, 2}}});
671 },
672 [](Generate& generator) {
673 generator.setFlag(Generate::RegularStartEnd);
674 generator.generate(
675 5, 5,
676 {{{Decoration::Dot, 15},
677 {Decoration::Eraser | Decoration::Color::Green, 2}}});
678 },
679 [](Generate& generator) {
680 generator.setFlag(Generate::RegularStartEnd);
681 generator.generate(
682 5, 5,
683 {{{Decoration::Dot, 17},
684 {Decoration::Eraser | Decoration::Color::Green, 2}}});
685 },
686 [](Generate& generator) {
687 generator.setFlag(Generate::RegularStartEnd);
688 generator.generate(
689 5, 5, {{{Decoration::Triangle1 | Decoration::Color::Magenta, 15}}});
690 },
691 [](Generate& generator) {
692 generator.setSymbol(Decoration::Start, 2 * 2, 5 * 2);
693 generator.setSymbol(Decoration::Exit, 2 * 2, 0);
694 generator.generate(
695 5, 5,
696 {{{Decoration::Stone | Decoration::Color::Black, 5},
697 {Decoration::Stone | Decoration::Color::White, 5},
698 {Decoration::Triangle | Decoration::Color::Orange, 5}}});
699 },
700 [](Generate& generator) {
701 generator.setFlag(Generate::RegularStartEnd);
702 generator.generate(
703 6, 6, {{{Decoration::Triangle | Decoration::Color::Orange, 15}}});
704 },
593 }; 705 };
594 706
595 return generator_fns; 707 return generator_fns;