From 26aa11444ca03571a2bf1ea14d54402094b5c15f Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Fri, 17 Feb 2023 09:51:36 -0500 Subject: many changes (should stop doing this) max_len_diff is an attempt to make mid blue and mid purple more reasonable. It maybe works for blue, but it is not good enough for purple. what we will need to do is limit on how much of the word can be removed, and that's going to require a change to verbly to allow that kind of query. copy_hidden was added for the champion's rest colour pairs. The solution to the pair is found at champion's rest, and the corresponding colour pair has a hint that is just question marks. must_be_broad forces a generated word to be targettable by bottom white/red/blue. this + reusing solution for most bottom white/red/blue puzzles makes those puzzles much more reasonable (though still hard). an attempt to randomise cross tower was made, but I'm not happy with it. hyphens in obscured hints will no longer be obscured. I think obscured hints tend to be too obscured sometimes though, especially when it comes to the number hunt and uncommon words. middle red triviality check: middle red two word puzzles should not just remove one of the words middle yellow triviality check: middle yellow two word puzzles should not just swap the words top yellow triviality check: top yellow should not be able to swap two phonemes that are identical other than stress and say that it rearranged the word. the colorful is partially randomised. champion's rest is as randomsied as it could be (it is likely not reasonable to randomise the red/blue/yellow panels behind the walls. the fearless is partially randomised (besides the chain puzzles). the challenge is partially randomised. --- generator.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'generator.h') diff --git a/generator.h b/generator.h index 1381cd3..1c7934e 100644 --- a/generator.h +++ b/generator.h @@ -45,6 +45,7 @@ struct GenerateOptions { int max_answer_len = 0; int max_hint_len = 0; int exact_len = 0; + int max_len_diff = -1; // supported by single, double, paired, cohinted bool multiword = false; bool save_for_later = false; bool reuse_solution = false; // supported by single, double, and stack @@ -52,7 +53,9 @@ struct GenerateOptions { PalindromeQuery palindrome = kPalindromeUnspecified; // only important for middle black. supported by single and paired std::string copy_to; // supported by single and paired std::string copy_to2; // supported by paired + std::string copy_hidden; // supported by single mid white bool force_two_words = false; + bool must_be_broad = false; // the solution must also be gettable by bottom white/red/blue. supported by single and double }; class Wanderlust { -- cgit 1.4.1