1 # Riddle solving and generation
3 > My first is in crankshaft but not in camshaft
4 > My second is in sincere but not in cancer
5 > My third is in hardtop but not in carton
6 > My fourth is in deliberation but not in celebration
7 > My fifth is in flail but not in await
8 > My sixth is in both beetling and nestling
13 This repository is code written to solve and generate riddles of the form above. These programs are fully discussed on my blog in a three-part series. You should read those articles to understand how this code works and why I organised it like I did.
15 1. [Solving riddles](https://work.njae.me.uk/2023/08/15/solving-riddles/)
16 2. [Generating riddles](https://work.njae.me.uk/2023/08/30/generating-riddles/)
17 3. [Optimising riddle generation](https://work.njae.me.uk/2023/09/01/optimising-riddle-generation/)
21 * [Riddle solver](riddle_solver.md): solves riddles given in text
22 * [Riddle creator](riddle_creator.md): generates new riddles, from given or random words
23 * [A faster riddle creator](riddle_creator_filtered.md)
24 * [A much faster riddle creator](riddle_creator_lazy.md)
25 * [Riddle definitions](riddle_definitions.md): some definitions used across the code base
27 The last two creation programs use a pre-processed word list; the [pre-processor program](riddle_dict_builder.md) is also here. There is a [file that analyses the performance of the different riddle creation programs](creation_analysis.md).
29 You can find the code on [my Git server](https://git.njae.me.uk/?p=riddle-generator.git;a=summary) or on [Gitlab](https://gitlab.com/NeilNjae/riddle-generator).
33 The code here is published under the [Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)](https://creativecommons.org/licenses/by-nc-sa/4.0/) licence.