This post will cover a different use case for wordlist encoding: Schrödinger Squares. These are squares that can be occupied by either of two different letters to form a valid answer.
A true Schrödinger puzzle would have the same clues functioning for both answer options. For example, you might have the clue "Famous French painter" work for both MONET and MANET. There's a whole page on xwordinfo dedicated to these, the most notable, of course, being the 1996 Election Day puzzle.
There are also Schrödinger-lite (or Slash) puzzles where a similar letter change occurs without the answers sharing the same clue. For example, if you had the clue "French painter / Greenbacks" for both MONET and MONEY. Architecturally, these are pretty much the same gimmick, but one adds the additional (challenging) clueing constraint. For this post I'm going to ignore clues and just go over how to encode a basic letter swap in your grid.
The first step is to identify all the valid pairs of answers for the letter swap we want. Let's use Chase Dittrich's nifty 11.25.21 NYT puzzle as an example, which had a True/False (T/F) letter swap gimmick:
Xwordinfo actually has a letter replacement finder, but since we also have to update our wordlists we'll need to do that same exercise in Excel. So once you have your wordlist file open add a filter and search for the letter F (it would also work to pick the T instead).
Copy that list of "F" words to a new tab and create a new column that counts the number of F's in each entry and sort that column from high to low. We need to do this because we're only going to swap a single F for a single T in any given answer. Here's what that formula looks like:
(note: the SUBSTITUTE formula is case sensitive)
Next we want to add "swap" columns for each of the F occurrences in our list. In this case I have as many as 3 F's in a given entry, so I've added 3 columns. This is just another SUBSTITUTE formula but we need to change the final [instance_num] to reflect which F to swap. Here's what that formula looks like:
(note: the "2" in our formula is because in this column we're swapping the 2nd F)
Copy these formulas down your entire list per the count column (i.e., only copy the 3rd column for entries that actually contain 3 F's). This gives us an array of the results from swapping every single F in our wordlist for a T. Now we need to check these results against our entire wordlist to see if any of our swaps have generated valid fill.
To do this we need to compile these results into a single column alongside the original entry and the F instance number. It would look something like this:
Next we can check this against our full wordlist using the VLOOKUP formula. The majority of your rows will obviously not find a match, so we want to filter down to exclude the #N/A errors. This will yield our full set of valid T to F swaps:
I go into a deeper explanation of VLOOKUP in my Excel tutorial, but the red range is just the table we compiled in the previous screenshot, and the "1" refers to which column of that table we want to return.
Now that we have our valid matched pairs, we simply need to encode these results just like we did in my Basic Rebus tutorial. In other words, we need to substitute the F's we swapped with a numeric character we don't have in our standard wordlist, like so:
Now we save these encoded words as a new custom supplemental list for Crossfire and select it in the Config > Dictionary tab:
Now you're good to begin constructing. Here I've duplicated Chase's grid from the original puzzle and simply populated the T/F squares with our encoded value of "3":
No comments:
Post a Comment