As of November 23, 2024, a new and improved version of the Tangram Puzzle Solver is available.
Access it here: Tangram Puzzle Solver (New Version)
🔗 Why Update? - The new version includes enhanced algorithms, optimized performance, and improved features for solving puzzles efficiently.
The Block Puzzle Solver is a tool designed to calculate solutions for tangram-style puzzles based on monomino, domino, triomino, tetromino, and pentomino shapes within a user-defined rectangular or square area. It supports block rotation and reflection for maximum flexibility.
- Fast Mode: Generates solutions using random, unique block combinations for quick results.
- Slow Mode: Exhaustively tests all possible block combinations and permutations, ensuring comprehensive coverage (though this can involve a significant number of possibilities).
- Expand support to include more complex shapes like heptominoes, octominoes, and other polyominoes.
- Enable support for user-defined areas of any shape, not limited to rectangles or squares.
This repository is ideal for puzzle enthusiasts, developers, or anyone interested in algorithmic problem-solving with polyomino-based puzzles.
- Live Demo: Block Puzzle Solver
- Project Details: Learn more about the development of this project here.
The Block Puzzle Solver is tested and compatible with the following browsers:
- Chrome
- Edge
- Firefox
- Opera
- Safari
Note: While the program may work in other browsers, I've only tested it in those listed above.
Contributions to this project are welcome and encouraged!
Currently, I am seeking an equation-based approach to eliminate early cases where no solution exists efficiently. If you're interested, check out this discussion for more context: Tetromino Tiling: How to Eliminate Early Cases with No Solution.
- Wikipedia Tetromino - https://en.wikipedia.org/wiki/Tetromino
- Polyomino - https://en.wikipedia.org/wiki/Polyomino
- Wolfram Math Polyomino - http://mathworld.wolfram.com/Polyomino.html
- Federico Dossena's Tetromino Solver - https://github.com/adolfintel/tetrispuzzlesolver-html5 (only calculates blocks in order defined)
- George Martin' Polyominoes: A Guide to Puzzles and Problems in Tiling - https://books.google.sk/books?id=D8KbnTGXDWEC&pg=PA49&lpg=PA49&dq=tetronimo+tiling+formula+math+checkerboard&source=bl&ots=gPiYck0dIW&sig=TvCK7UkhMlhWyfi5hlhGrPhm-uY&hl=en&sa=X&ved=0ahUKEwjO292DlNPYAhXGjywKHYv3BSEQ6AEIODAF#v=onepage&q=tetronimo%20tiling%20formula%20math%20checkerboard&f=false
- Distinguishable Permutations: https://onlinecourses.science.psu.edu/stat414/node/31
- Counting distinct n- n-letter long array permutations: https://math.stackexchange.com/questions/2612013/formula-for-counting-distinct-n-letter-long-array-permutations
The code is available under the MIT license.