summary refs log tree commit diff stats
path: root/generator.h
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2023-02-17 09:51:36 -0500
committerStar Rauchenberger <fefferburbia@gmail.com>2023-02-17 09:51:36 -0500
commit26aa11444ca03571a2bf1ea14d54402094b5c15f (patch)
tree2c1d3b7ad2d5608007245d552eac187829aabfef /generator.h
parentcebfd065c029788f3d6a8cc33b9401a708052335 (diff)
downloadlingo-randomizer-26aa11444ca03571a2bf1ea14d54402094b5c15f.tar.gz
lingo-randomizer-26aa11444ca03571a2bf1ea14d54402094b5c15f.tar.bz2
lingo-randomizer-26aa11444ca03571a2bf1ea14d54402094b5c15f.zip
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.
Diffstat (limited to 'generator.h')
-rw-r--r--generator.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/generator.h b/generator.h index 1381cd3..1c7934e 100644 --- a/generator.h +++ b/generator.h
@@ -45,6 +45,7 @@ struct GenerateOptions {
45 int max_answer_len = 0; 45 int max_answer_len = 0;
46 int max_hint_len = 0; 46 int max_hint_len = 0;
47 int exact_len = 0; 47 int exact_len = 0;
48 int max_len_diff = -1; // supported by single, double, paired, cohinted
48 bool multiword = false; 49 bool multiword = false;
49 bool save_for_later = false; 50 bool save_for_later = false;
50 bool reuse_solution = false; // supported by single, double, and stack 51 bool reuse_solution = false; // supported by single, double, and stack
@@ -52,7 +53,9 @@ struct GenerateOptions {
52 PalindromeQuery palindrome = kPalindromeUnspecified; // only important for middle black. supported by single and paired 53 PalindromeQuery palindrome = kPalindromeUnspecified; // only important for middle black. supported by single and paired
53 std::string copy_to; // supported by single and paired 54 std::string copy_to; // supported by single and paired
54 std::string copy_to2; // supported by paired 55 std::string copy_to2; // supported by paired
56 std::string copy_hidden; // supported by single mid white
55 bool force_two_words = false; 57 bool force_two_words = false;
58 bool must_be_broad = false; // the solution must also be gettable by bottom white/red/blue. supported by single and double
56}; 59};
57 60
58class Wanderlust { 61class Wanderlust {