jpd236 / kotwords

Collection of crossword puzzle file format converters and other utilities, written in Kotlin.
Apache License 2.0
25 stars 6 forks source link

Add Helter Skelter puzzle type #11

Closed jpd236 closed 2 years ago

jpd236 commented 3 years ago

See attached example c/o @crosswordnexus helter_skelter1.zip

The main drawback is that part of the puzzle type is figuring out the answer length, whereas JPZ files require pre-defined words. So there are two options I see:

We could probably give it a checkbox.

(Also, the notepad suggests "the direction of the last entry is for you to determine" - we'll probably just have to give it for the sake of digitizing).

jpd236 commented 2 years ago

Done: https://jpd236.github.io/kotwords/helter-skelter.html

I did go with a checkbox which controls whether or not to extend words to the grid boundaries, so it can be left unchecked (the default) for a "correct" JPZ whose clues correspond exactly with their highlighted squares, or checked for a harder JPZ where the solver has to figure out where to stop the word.

As long as the first word can be placed uniquely in the grid, and the subsequent words follow standard rules (the next word starts somewhere along the previous word's path), you don't need to enter anything other than the grid, answers, and clues. If not, there's an optional field to enter the "answer vectors" (starting coordinates and directions).

The direction of the last entry is indeed provided - otherwise, we'd have to just pretend the word has length = 1.