-
Notifications
You must be signed in to change notification settings - Fork 82
Binary Rules
Binary is a grid based puzzle game akin to Sudoku. You are given a grid of empty squares and squares filled with 1 or 0. Your task is to fill the board with 1s and 0s while adhering to the rules of the game.
Each binary puzzle has a unique solution. It is always possible to make a next step by reasoning. In other words, the solution can always be found without guessing.
Clicking on a white square fills it with a 0
Clicking on a square with a 0 fills it with a 1
Clicking on a square with a 1 returns it white
- Each square should contain either a zero or a one.
- Three orthogonally adjacent zeros or ones is not allowed.
- Each row and each column should contain an equal number of zeros and ones.
- Each row is unique and each column is unique. Thus, any row cannot be exactly equal to another row, and any column cannot be exactly equal to another column.
This rule is a direct consequence of Rule #1. If a tile can be filled with a 0 or a 1 based on the current state of the board, create a split in the tree where the tile is a 0 in one path and 1 in the other to show two possible cases.
This rule is a direct consequence of Rule #2. If a sequence of three of the same digit exists on the board, then the board is in a state of contradiction.
This rule is a direct consequence of Rule #3. If a row or column does not contain an equal number of zeros and ones, then the board is in a state of contradiction.
This rule is a direct consequence of Rule #4. If a row is identical to another row or a column is identical to another column, then the board is in a state of contradiction.
This rule is a direct consequence of Rules #2 and #3. If a cell exists in a row or column that allocates a digit unnecessarily and there could exist a future trio contradiction, then the board is in a state of contradiction.
This rule is a direct consequence of Rule #2. If two of the same digit exist adjacent to each other in any given row or column, then the pair must be surrounded with the opposite digit on both sides. Additionally, if two of the same digit exist with a one tile gap between them, those digits must be separated by placing the opposite digit between them.
This rule is a direct consequence of Rules #2 and #3. If a row or column has the total number of 0s and 1s needed, then the remaining cells in that row or column can be filled with the opposite digit.
This rule is a direct consequence of Rules #2 and #3. If a future trio could appear in this row or column, and placing the digit that can block that trio elsewhere will cause that row or column to become unbalanced in the future, place the opposite digit where the blocker digit is not needed.
This rule is a direct consequence of Rule #4. If an unfinished row/column only differs by empty cells from a finished one, fill contradicting empty cells with the opposite digit to prevent a repeated row/column.
Here is a list of some places to start when continuing to develop the binary puzzle
- Create a comprehensive test suite for the proof rules
- Home
-
For Developers
- Programming Standards
- Developer Setup Guide
- Alternative Developer Setup Guide (linux)
- Pointers for Getting Started
- Guide to Implementing Puzzles
- Guide to Implementing the Puzzle Editor Functionality for a Puzzle
- Native Binary Compilation Information for Windows
- Test Suite Documentation
- Notes for a Future Rewrite
- For End Users