Inspiration
According to Wikipedia, "Nonograms are picture logic puzzles in which cells in a grid must be colored or left blank according to numbers at the edges of the grid to reveal a hidden picture." I have always enjoyed doing them and they are part of a handful of different mobile games I play to waste time. I thought it would be an interesting challenge to build something that can solve them automatically.
What it does
Solves nonogram puzzles using a CNF style algorithm and a satisfiability solver.
How we built it
It was built in C# to use Google's OR-Tools library. It creates a variable for each cell in the grid. Then, based on the user's inputs, sets what combinations of assignments are allowed for all the variables. Once all allowed assignments are set, the library solves the problem.
Challenges we ran into
It was very difficult to find the right library to use and how to use it. The C# documentation for the OR-Tools library is minimal and made learning to use the library take a long time.
What's next for Nonogram Solver
There are currently no plans to further develop this project. There are a handful of usability upgrades that would be useful, such as reading and writing files for input, a proper UI to interact with, some additional validation and error handling are just a few examples. But I built this project for myself to enjoy the challenge of the problem, which I did.
Built With
- c#
- or-tools
Log in or sign up for Devpost to join the conversation.