How to play
Both registers show the same number of bits. Press an operation to apply it to the top register; the bits that still differ from the target are marked. You win when the registers match. The move counter shows your moves against par; the budget is par + 3, after which the puzzle is marked as not solved for the day (practice puzzles never run out).
| Operation | Effect | Typical use |
|---|---|---|
| FLIP | toggles bit 0 only | the only way to introduce a 1 (or remove one) directly; combine with shifts to place it |
| SHL / SHR | logical shift by one; the bit that falls off is lost, a 0 comes in | move a pattern, or destroy bits at the edges on purpose |
| ROL / ROR | rotate by one; nothing is lost | move a pattern without changing the population count |
| NOT | invert every bit | a target with many 1s is often easier to build inverted |
| SWAP | exchange the two halves | a fast 4-bit (or 8-bit) rotate |
| INC / DEC | add or subtract one, wrapping | carry ripples: 0111 + 1 = 1000 sets a bit far from bit 0 |
Why par is honest
The puzzle space is small enough (256 states for 8 bits, 65,536 for 16) that the page runs a breadth-first search from the start value and knows the exact shortest path to every reachable state. Par is that distance; the daily target is chosen so that par is 5–7 (8-bit) or 7–10 (16-bit), and so that the Hamming distance between start and target is larger than par, which means a pure sequence of flips would not be enough even if you could flip any bit.
Hints for getting under par
- Count bits: FLIP, INC and DEC change the population count; shifts drop bits; rotates and NOT (with a known count) do not. If the target has more 1s than you can add in the remaining moves, you need NOT.
- Think backwards from the target: which single operation could have produced it? Rotates and SWAP are their own inverses two or four moves later; a trailing 0 in the target hints at a final SHL.
- INC on a run of 1s at the bottom clears them and sets the next bit — a cheap way to move a 1 upward.
Questions
Is the daily puzzle the same for everyone?
Yes. The puzzle number is derived from the date (UTC) and the puzzle from that number, so everyone who opens the page on the same day gets the same start and target. Results and streaks are stored only in your browser.
What does the share text contain?
The puzzle number, your move count against par, and a row of squares for the moves (blue within par, yellow beyond). Not the solution and not the operations, so it does not spoil the puzzle for others.
Can I lose?
If you exceed par + 3 moves the day counts as not solved; you can keep trying in practice mode, and the daily puzzle can still be finished for the satisfaction, just not for the streak.
Why can I only flip bit 0?
Because being able to flip any bit makes every 8-bit puzzle solvable in four moves. Limiting direct access to one bit is what real hardware without a bit-set instruction looks like, and it is what makes shifts and rotates matter.