This program assists a user in solving a Codeword puzzle.
There is no computer aid other than allowing you to add/remove matches, in a very simple but quite efficient way.
The user interface is terminal-based.
This is still very much a proof of concept, and probably will stay so - read below. Edit the puzzle in the code and run it.
I sometimes thought that solving Codeword puzzles, like other challenges that involve a trial and error process, may be better enjoyed using a PC than on paper, and fancied a small program to do that.
When I decided to test ChatGPT, one of my first ideas was to instruct it to write a complete program, however simple. Needing a test case, and having recently solved a puzzle, this came into my mind.
I was aware that the process would need a number of iterations, so the actual goal was to see at what point I'd decide that fixing / adding things by myself would be more convenient (and/or less freaking boring) than talking ChatGPT into doing it. When I thought that point had been reached, the program was still not very usable, and in the end I decided to finish it up "by hand".
This means that a significant part of the current code has not been generated by ChatGPT as it is, but added or edited in some way. Anyway, this is just for duty of report and absolutely not to understate ChatGPT's capabilities, which looked quite amazing right from the start. In retrospect, I was able to point out a lot of mistakes in the way I lead the process, and I realize that ChatGPT's output may have been much more useful with a different approach. All in all it was quite insightful and maybe I'll try again with a different challenge.
I am publishing this because I want to raise my Github skills, and I can't think of a better way to do that than using a real project, so that I'll have a real use case scenario, but a project I'm sure nobody will care about, so nobody will be pissed off if something gets broken.
- design a format to define a puzzle - number matrix and known correspondence dict
- load / save puzzle
- ANSI color
The program has been written twice, starting from ChatGPT's semi-finished output, due to the accidental deletion of the main file. Hence the contraction between the words "puzzle" and "Lazarus".
Public domain (at least until ChatGPT sues me).