Kanoodle Extreme Solver User Guide - benelder/Kanoodle GitHub Wiki

Kanoodle Extreme Solver Features

The Kanoodle Extreme Solver has four modes

  • Puzzle Solver - load a pre-defined game state and find one or multiple solutions to the puzzle.
  • Piece Browser - browse through all valid piece positions and observe the RootPosition, Rotation, and Lean properties which achieve a given position
  • Puzzle Builder - add pieces to an empty board to build a game state, with options to generate code to capture the result state and/or solve the puzzle for the defined state
  • Piece Info - high level stats about possible positions per each color piece

Puzzle Solver

In Solver mode, you may select from a list of pre-defined game states to load onto the board. These states are codified in the GameFactory.cs class in Kanoodle.App. Note, you can use the Builder mode to generate code to easily add new game states to this class, if you want to expand the collection of pre-defined states.

Kanoodle puzzle game

Once a game state is selected, the starting state of the board is shown, and you have the option to find the first possible solution, or iterate through ALL possible piece positions and record ALL valid solutions of the puzzle. The latter option can take multiple minutes to complete for some game states.

View of finding a single solution

Kanoodle puzzle game

View of finding ALL possible solutions

Kanoodle puzzle game

Piece Browser

In Browser mode, you may choose a color piece (A-L) to browse through all valid positions for that piece. If you are interested in finding a valid position at a specific location on the board, you may filter the list of all positions to a subset which includes that location. This is an easy way to observe the attributes (RootPosition, Rotation, Lean) required to position a piece exactly as desired on the board.

Kanoodle puzzle game

Puzzle Builder

Puzzle Builder is the way to build a game state from scratch with the option to generate code or solve immediately. Builder mode uses the Piece Browser feature to find the desired position for a piece. Once found, hit SPACE to save the piece to the board. Repeat for other color pieces until the desired state is setup.

Placing the first piece

Kanoodle puzzle game

Placing the second piece

Kanoodle puzzle game

Placing the third piece and finalizing the state

Kanoodle puzzle game

Generating code to save the game state in the collection of pre-defined games

Kanoodle puzzle game

Solving for the defined game state

Kanoodle puzzle game

Piece Info

Info mode simply prints some high-level statistics about the total piece positions generated and tested, and the resulting total valid positions registered across all pieces, and per each color.

Kanoodle puzzle game