Git Product home page Git Product logo

puzarus's Introduction

puzarus - computer aided Codeword puzzle solving

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.

Usage

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.

Why this was born

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.

Why this is on Github

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.

main TODOs

  • design a format to define a puzzle - number matrix and known correspondence dict
  • load / save puzzle
  • ANSI color

About the fancy name

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".

License

Public domain (at least until ChatGPT sues me).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.